Log4net(13) 一度設定したAppenderの変更
それ程こんなことがしたくなる機会はないと思うのだが、まぁ一応こんなこともできるんだよーっという紹介をしておく。
設定ファイル
<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%m%n" /> </layout> </appender> <root> <level value="ALL" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net>
ソースファイル
logger.Error("Before"); foreach(log4net.Appender.IAppender IApp in logger.Logger.Repository.GetAppenders()) { if(IApp.Name == "ConsoleAppender") { log4net.Appender.ConsoleAppender ConApp = (log4net.Appender.ConsoleAppender)IApp; ConApp.Layout = new log4net.Layout.PatternLayout("[msg] = %m%n"); } } logger.Error("After");
出力結果
Before [msg] = After