ASP.NET WebForms
-log4netの使い方-
2016/3/8
佐野 尚之
アジェンダ
 log4netについて
 NuGetでプロジェクトに追加
 設定
 使い方
 参考情報
log4netについて
 オープンソースのロギングライブラリ。
 log4j(Java)を.NET環境用に移植したもの。
 設定ファイルを変更するだけで出力先(ファイル、メール
、イベントログ、データベースなどに切り替えられる。
 ログの設定は設定ファイルで動的に変更可能。
設定
NuGetでプロジェクトにlog4netを追加
設定
「OK」ボタンをクリック
設定
設定
参照設定に追加されていることを確認
使い方
 Global.aspx.csに以下のコードを追加
使い方
 log4net.xmlの記述例
使い方
 ログレベル
レベル 標準的な使い方
Fatal システム停止するような致命的な障害
Error システム停止はしないが、問題となる障害
Warm 障害ではない注意障害
Info 操作ログなどの情報
Debug 開発用のデバッグメッセージ
使い方
-log4net.xml-
 PatternLayoutで指定できるパターン
パターン 説明
%c ログ出力が行われたlogger名を出力
%C クラスを出力
%d 日時を出力
%F ファイル名を出力
%l ソース名や行といった呼び出し位置を出力
%L 行番号を出力
%m メッセージを出力
%M メソッド名を出力
%n 改行文字を出力
%p ログレベルを出力
%t ログを生成したスレットを出力
%x スレッドのNDC(ネスト化診断コンテキスト)を出力。スレッ
ド固有の情報(セッションIDなど)を埋め込むことができる
使い方
-log4net.xml-
ADONetAppender
データベースに保存できる。
ConsoleAppender
コンソールに出力する。
EventLogAppender
Windowsのイベントログのアプリケーションに出力
FileAppender
ファイルに出力する。
NetSendAppender
Messengerサービスにて動作するNetSendコマンドで
障害をユーザーに通知する。
RollingFileAppender
ファイルサイズや時刻によって自動的にログファイルを分割(切替)
を行うことできる。
SMTPAppender
メール送信。
UdpAppender
UDP(User Datagram Protocol)に出力。
ASPNetTraceAppenderとい
うのもあるらしい(;^_^A
使い方
 出力したいクラスの先頭で「log4net.ILog logger =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurr
entMethod().DeclaringType);」を追加

 デバッグログの場合は以下のように「logger.Debug(“出力したいログ”);」
書いてください。
参考情報
 aspxページ内(ASP.NET)でログ出力を行う方法(log4net編)
 http://web.plus-idea.net/2012/06/aspx-asp-net-log4net/
 log4net
 http://d.hatena.ne.jp/keyword/log4net
 Log4Net with ASP.NET 3.5 – File Appender
 http://www.codeproject.com/Articles/37107/Log-Net-
with-ASP-NET-File-Appender
 [C#] Log4netを使うサンプル
 http://www.moonmile.net/blog/archives/4748
 ASP.NET で log4net を使う
 http://blogs.gine2.jp/taka/archives/1344
 [ASP.NET]log4netのWebアプリへの導入手順
 http://d.hatena.ne.jp/tgk/20070802/1186074677

Asp.net web forms_log4net