ASP.NET環境でlog4netを使用するサンプルです。
以下の環境を想定して記述します。
お使いの環境と異なる箇所は読み替えてください。
・言語:VB.NET
・フレームワーク:.NET Framework4.5
・log4net.dllの配置場所:C:\log\
手順
①以下URLからlog4netモジュールをダウンロードして、解凍します。
https://logging.apache.org/log4net/download_log4net.cgi
執筆時は、log4net-1.2.13-bin-newkey.zip
②モジュールの中には.Net Frameworkのバージョン毎にモジュールが用意されているので、お使いの環境のモジュールを取り出して任意の場所(今回は、「C:¥log¥」)に置きます。
・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.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,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 - 致命的メッセージ
値 | 意味 |
---|---|
ALL | 全てのログを出力 |
DEBUG | DEBUGレベル以上を出力 |
INFO | INFOレベル以上を出力 |
WARN | WARNレベル以上を出力 |
ERROR | ERRORレベル以上を出力 |
FATAL | FATALレベル以上を出力 |
備考
- log4netについて、もっと知りたい方は以下の記事が詳しくてわかりやすいです。
http://www.atmarkit.co.jp/ait/articles/0712/25/news121.html
(@IT「オープンソースのロギング・サービス「log4net」を使う」)