Log4net(11) 設定ファイルの概要
設定ファイルから読み込ませる方法を解説したので、次は設定ファイルの書き方を説明しよう。といっても、設定ファイルはわりと直感的なので、詳しい説明は特に必要ないだろう。
設定ファイルのフォーマット
<?xml version="1.0" encoding="utf-8" ?> <log4net> appenderの記述(1つ以上) root logger についての記述(1つ) logger を追加(0以上) </log4net>
- appenderの記述
<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> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <param name="File" value="Sample.log" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header]" /> <param name="Footer" value="[Footer]" /> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Rolling.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="10" /> <param name="MaximumFileSize" value="100KB" /> <param name="RollingStyle" value="Composite" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header]" /> <param name="Footer" value="[Footer]" /> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> : : : 好きなだけappenderを記述していく
- root loggerの記述
WARNレベル以上のログを出力し、LogFileAppenderとConsoleAppenderが対象となる
<root> <level value="WARN" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root>
- 名前Sample.LoggingExampleというロガーを追加
全レベルのログを出力し、LogFileAppenderとRollingLogFileAppenderが対象となる
<logger name="Sample.LoggingExample"> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="RollingLogFileAppender" /> </logger>
結局こんな設定ファイルとなる
<?xml version="1.0" encoding="utf-8" ?> <log4net> <!-- ======================================================================= --> <!-- 1. appender の記述 --> <!-- ======================================================================= --> <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> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <param name="File" value="Sample.log" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header]" /> <param name="Footer" value="[Footer]" /> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Rolling.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="10" /> <param name="MaximumFileSize" value="100KB" /> <param name="RollingStyle" value="Composite" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value="[Header]" /> <param name="Footer" value="[Footer]" /> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> <!-- ======================================================================= --> <!-- 2. root logger の設定 --> <!-- ======================================================================= --> <root> <level value="WARN" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="ConsoleAppender" /> </root> <!-- ======================================================================= --> <!-- 3. 各種loggerの設定 --> <!-- ======================================================================= --> <logger name="Sample.LoggingExample"> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="RollingLogFileAppender" /> </logger> </log4net>