log4netの導入

Posted by mkamo on 2008年4月18日

log4netを使ってとりあえずログ出力をする方法は以下のとおり.

  1. 参照の設定
    1. [ソリューションエクスプローラ]で[参照設定]を右クリックして[参照を追加]を選択する
    2. [参照]タブでlog4net.dllを選択する
  2. AssemblyInfo.csの編集
    1. AssemblyInfo.csに以下の一行を追加する
       
      [assembly: log4net.Config.XmlConfigurator(Watch=true)]  
  3. 構成ファイルの追加
    1. [ソリューション エクスプローラ]でプロジェクトを右クリックして[追加]>[新しい項目]を選択する
    2. [アプリケーション構成ファイル]を選択し,”app.config”ファイルを作成する
    3. [ソリューション エクスプローラ]で作成したファイルを右クリックして[プロパティ]を選択する
    4. [プロパティ]の[詳細]>[出力ディレクトリにコピー]を”新しい場合はコピーする”に設定する
    5. 作成したファイルを以下のように編集する
      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
        <configSections>
          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
        </configSections>
        <log4net>
          <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
              <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
            </layout>
          </appender>
          <root>
            <level value="ALL" />
            <appender-ref ref="ConsoleAppender" />
          </root>
        </log4net>
      </configuration>
      
  4. ロギングコードの追加
    1. loggerの取得のためのコードは以下のとおり.ログ出力をするクラスのstaticフィールドとして宣言しておく.GetLogger()のパラメタはtypeof(型名)と同じ結果になるが,どの型が対象でも同じコードになるようにリフレクションを使う.また,usingを追加しなくてよいようにクラスはFQNで指定する
      private static readonly log4net.ILog LOGGER =
          log4net.LogManager.GetLogger(
              System.Reflection.MethodBase.GetCurrentMethod().DeclaringType
          );
      
    2. ログ出力のためのコードは以下のとおり
      LOGGER.Fatal("fatal message");
      LOGGER.Error("error message");
      LOGGER.Warn("warn message");
      LOGGER.Info("info message");
      LOGGER.Debug("debug message");
      
  5. デバッグ実行すると[出力]ウィンドウに以下のようなログが出力される
    2008-04-18 14:50:01,656 [10] FATAL WindowsFormsApplication1.Form1 [(null)] - fatal message
    2008-04-18 14:50:01,656 [10] ERROR WindowsFormsApplication1.Form1 [(null)] - error message
    2008-04-18 14:50:01,656 [10] WARN  WindowsFormsApplication1.Form1 [(null)] - warn message
    2008-04-18 14:50:01,656 [10] INFO  WindowsFormsApplication1.Form1 [(null)] - info message
    2008-04-18 14:50:01,656 [10] DEBUG WindowsFormsApplication1.Form1 [(null)] - debug message


コメントを書く




XHTML: 次のタグが使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: 投稿されたコメントが表示されるにはいくらかの時間がかかります.投稿後直ちに表示されませんが投稿ボタンを何度も押さないようお願いします.