http://logging.apache.org/log4net/download.html から「incubating-log4net-1.2.10.zip」をダウンロード
□利用の流れ
1.Log4Netインストール
↓
2.アセンブリファイル(AssemblyInfo.cs)編集
↓
3.構成ファイル(App.config)追加/編集
↓
4.ログ出力(実装)
1.Log4Netインストール
ダウンロードファイル「incubating-log4net-1.2.10.zip」を解凍してテキトに配置w
ソリューションエクスプローラより[参照設定]で「参照の追加」から「log4net.dll」を追加する
(同名のDLLが複数存在するが....log4net\bin\net\2.0\release配下のlog4net.dllを使用する)
2.アセンブリファイル(AssenblyInfo.cs)編集
AssemblyInfo.csに以下を追加する
// Log4Net用定義
// ▼Log4Netが参照する設定ファイルの定義
// 設定ファイルの指定方法として(1)~(3)のいずれかを選択
// 「Watch=true」はアプリケーション実行中に設定ファイルを変更した場合に反映が有効
// (1)設定ファイルの名前が「アセンブリ名 + .config」の場合(Visual Studio上では「App.config」)
// [assembly:log4net.Config.DOMConfigurator(Watch=true)]
// ▲Log4NetのバージョンによってはDOMConfiguratorは推奨されない
[assembly:log4net.Config.XmlConfigurator(Watch=true)]
// (2)設定ファイルの名前が「アセンブリ名 + .独自の拡張子(この例では.log4net)」の場合
//[assembly:log4net.Config.DOMConfigurator(ConfigFileExtension="log4net", Watch=true)]
// (3)設定ファイルの「ファイル名」を直接指定する場合
//[assembly:log4net.Config.DOMConfigurator(ConfigFile="../../log4net.xml", Watch=true)]
3.構成ファイル(App.config)追加/編集
ソリューションエクスプローラより[新しい項目の追加]で「アプリケーション構成ファイル(App.config)」を追加する
....ビルドして実行するとbin配下に自動的に「アセンブリ名 + config」というファイルが生成される
App.configに以下を追加する
<?xml version="1.0" encoding="utf-8">
<configuration>
<!-- 構成ファイルの設定 -->
<!-- log4netセクションのハンドラ設定 -->
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<appSettiongs>
<!-- log4net内部のデバッグメッセージを出力する場合....trueに設定 -->
<add key="log4net.Internal.Debug" value="true">
</appSettings>
<log4net>
<!-- ログ出力先の設定(appenderの設定)>
<!-- ▼コンソール出力用[ConsoleAppender] -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="="%d [%t][%-5p]%c %M - %m%n" />
</layout>
</appender>
<!-- ▼ファイル出力用[RollingFileAppender](サイズの制約に基づいたログファイルの生成) -->
<appender name="RollingFileAppender_Size" type="log4net.Appender.RollingFileAppender">
<!-- ログレベルで出力をフィルタリング -->
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
<!-- ファイル名 -->
<param name="File" value="log4net.log" />
<!-- 追記する場合:true/上書きする場合:false -->
<param name="AppendToFile" value="true" />
<!-- ファイルサイズの制約によるログファイルの切り替え -->
<param name="RollingFileStyle" value="size" />
<!-- サイズの制約によるログファイルの切り替え(デフォルトは10MB) -->
<!-- <param name="MaximumFileSize" value="5KB" /> -->
<!-- <param name="MaximumFileSize" value="500KB" /> -->
<param name="MaximumFileSize" value="1MB" />
<!-- <param name="MaximumFileSize" value="1GB" /> -->
<!-- 保存するファイル数(数を超えた場合は古いものから削除) -->
<param name="MaxSizeRollBackups" value="3" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss,fff} [%-5p] %c %M %m%n" />
</layout>
</appender>
<!-- ログ出力の対象レベルと出力先の設定 -->
<!-- ▼Rootの設定 ※デフォルトとなるログ出力設定 -->
<root>
<!-- RootはDEBUG以上を出力 -->
<level value="DEBUG">
<!-- コンソール出力 -->
<appender-ref ref="ConsoleAppender" />
<!-- ログファイル出力 -->
<appender-ref ref="RollingFileAppender_Size" />
</root>
</log4net>
</configuration>
4.ログ出力(実装)
ログ出力したいクラスの先頭に以下の一文を追加する
private static readonly log4net.ILog logger =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);