2005-07-22

λ VBacs

Wordを無理矢理Emacsキーバインディング風にするVBA。 とはいえふつー XKeymacs で十分。

PC98時代、友人はワープロソフト 松 をμEmacsキーバインディング風にしていた。 その名も「μE松x」。まいくろいーまつくす。 しかもこの名前を画面上のメニューのところに埋め込んでいたのだった。

λ [.NET] *NWiki

.NETでagileなのがいろいろまとまってる

λ RFC3280

PKIに関する基礎資料。CA運営にあたっては、以下の項目についてどうするべきかを理解しておく。

  • 鍵用途(keyUsage)
  • 証明書ポリシー
  • サブジェクト代替名
  • 基本制約(BasicConstraint)
  • 名前制約
  • ポリシー制約
  • 拡張鍵用途
  • 全ポリシー禁止

keyUsage の keyCertSign, cRLSign ビット、 BasicConstraints の cA ビット,pathLenConstraint に許容できる中間証明機関のレベル数 を記載する。

署名と鍵管理 に利用する証明書は別になっているべき、らしい

λ [.NET] log4net ことはじめ

コンソールアプリで log4net を使う話はまとまってたが、ASP.NET で使うTutorialを探して悩んだ話。

log4net walkthrough, 4 Tips for using Log4NETs ADONetAppender in ASP.NET あたりを参考に。

(1)ライブラリの取得

log4net公式サイト からダウンロードして、 bin/net/1.1/release/log4net.dll, bin/net/1.1/release/log4net.xml を、 ASP.NETアプリケーションの bin/ ディレクトリに保存する。 VisualStudio.NET から log4net.dll に対する参照設定をする。(参照設定は IntelliSense のため)

(2)設定ファイルを読むためのコードと設定ファイル

Global.asax.cs に記述する。参考サイトでは DOMConfigurator を使っていたが、obsolete だそうなので XmlConfigurator を利用する。

protected void Application_Start(Object sender, EventArgs e)
{
  // Load the configuration from 'Web.config'
  log4net.Config.XmlConfigurator.Configure();
}

Web.config に記述する。appender 関係は、 本家サイトの設定ファイル をとりあえず入れてみた。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <!-- log4net の configSections は上の方に記述する -->
 <configSections>
   <section name="log4net" 
     type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" 
   />
 </configSections>
 <system.web>
   中略
 </system.web>
 <log4net debug="false">
   <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
     <file value="webapp-log.txt" />
     <appendToFile value="true" />
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
     </layout>
   </appender>
   <appender name="HttpTraceAppender" type="log4net.Appender.AspNetTraceAppender" >
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
     </layout>
   </appender>
   <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
     <file value="log-data\rolling-log.txt" />
     <appendToFile value="true" />
     <maxSizeRollBackups value="10" />
     <maximumFileSize value="5MB" />
     <rollingStyle value="Size" />
     <staticLogFileName value="true" />
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
     </layout>
   </appender>
   <root>
     <level value="DEBUG" />
     <appender-ref ref="LogFileAppender" />
     <appender-ref ref="HttpTraceAppender" />
     <!-- <appender-ref ref="RollingLogFileAppender" /> -->
   </root>
 </log4net>
</configuration>

(3)プログラム内で log4net を使う

コンソールアプリと別に変わらないので省略。

上記 HttpTraceAppender は、文字通り Trace として追加されているのが面白い。

[]