log4net

[log4net] ダウンロードからログ出力までの手順

2015年11月3日

ASP.NET環境でlog4netを使用するサンプルです。

以下の環境を想定して記述します。
お使いの環境と異なる箇所は読み替えてください。

・ツール:VisualStudio2012
・言語:VB.NET
・フレームワーク:.NET Framework4.5
・log4net.dllの配置場所:C:\log\

手順

①以下URLからlog4netモジュールをダウンロードして、解凍します。

https://logging.apache.org/log4net/download_log4net.cgi

log4netダウンロード画面

執筆時は、log4net-1.2.13-bin-newkey.zip

②モジュールの中には.Net Frameworkのバージョン毎にモジュールが用意されているので、お使いの環境のモジュールを取り出して任意の場所(今回は、「C:¥log¥」)に置きます。

・log4net.dll
・log4net.xml

.NET Framework 4.5を使用しますが、4.0フォルダ内のモジュールでOKです。
(\log4net-1.2.13\bin\net\4.0\release\)

③VisualStudioから「log4net.dll」に対して参照設定を行います。

参照の追加は、ソリューションエクスプローラーのプロジェクト名を右クリック→「参照の追加」を選択→参照マネージャー画面の「参照」ボタンをクリックして、log4net.dllを指定します。

以下のように参照設定欄に「log4net」と表示されればOKです。

log4net参照設定

④設定ファイル(log4net.xml)を書き換えます。

ダウンロードしたlog4net.xmlはものすごくたくさんの記述があって分かりずらいので、以下の記述に書き換えます。


  
    
      
        
        

        
        

        
        
          
        
      
      
        
        

        
        
      
    
  

出力ログレベルに指定できる値は、下記「【log4net.xmlに指定できるログレベル】」をご覧ください。

⑤次に、Web起動時にlog4netを読み込む設定をします。

Global.asax.vbの「Application_Start」メソッド内に以下を記述します。


Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
  log4net.Config.XmlConfigurator.
    Configure(New System.IO.FileInfo("C:\log\log4net.xml"))
End Sub

⑥これでとりあえずログを出力する準備は整いました。

あとは、ログを出力したいモジュールで以下のように記述します。

[1]、[2]、[3]がポイントです。


Option Strict On
Imports log4net  '[1]log4netのインポートをする

Public Class _Default
  Inherits Page

  '[2]メンバー変数領域にログの定義を記述する
  Dim log As ILog = log4net.LogManager.
    GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    '[3]ログを出力したい箇所で以下のように記述する
    logging.Debug("デバッグメッセージ")
    logging.Info("情報メッセージ")
    logging.Warn("警告メッセージ")
    logging.Error("エラーメッセージ")
    logging.Fatal("致命的メッセージ")
  End Sub
End Class

⑦実行すると、ログ出力先(C:\log\test.log)に以下のように出力されます。

2015-10-30 21:54:09,659 [12] DEBUG WebApplication1._Default - デバッグメッセージ
2015-10-30 21:54:09,665 [12] INFO WebApplication1._Default - 情報メッセージ
2015-10-30 21:54:09,666 [12] WARN WebApplication1._Default - 警告メッセージ
2015-10-30 21:54:09,666 [12] ERROR WebApplication1._Default - エラーメッセージ
2015-10-30 21:54:09,666 [12] FATAL WebApplication1._Default - 致命的メッセージ
【log4net.xmlに指定できるログレベル】
意味
ALL 全てのログを出力
DEBUG DEBUGレベル以上を出力
INFO INFOレベル以上を出力
WARN WARNレベル以上を出力
ERROR ERRORレベル以上を出力
FATAL FATALレベル以上を出力

備考

-log4net