DOBON.NETプログラミング掲示板過去ログ
Log4Netについて
題名: Log4Netについて
著者: junk
日時: 2007/10/02 11:18:04
ID: 20625
この記事の返信元:
(なし)
この記事への返信:
(なし)
ツリーを表示
環境/言語:[WinXP, Framework2.0, C# Express]
分類:[.NET]
Log4Netを使用してLog出力を行っています。
現状1ファイルに出力している内容を
2ファイルに分けようとして
下記のように実装しました
===================
app.config
===================
<log4net>
<appender name="Appender1" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Appender1.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="size" />
<param name="MaximumFileSize" value="1MB" />
<param name="MaxSizeRollBackups" value="10" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C.%M - %m%n" />
</layout>
</appender>
<appender name="Appender2" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Appender2.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="size" />
<param name="MaximumFileSize" value="1MB" />
<param name="MaxSizeRollBackups" value="1" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C.%M - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="Appender1" />
</root>
<logger name="TestLogger">
<level value="INFO" />
<appender-ref ref="Appender2" />
</logger>
</log4net>
===================
ソース
===================
public partial class Form1 : Form {
// Logインスタンス1
private static readonly log4net.ILog logger1
= log4net.LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
// Logインスタンス2
private static readonly log4net.ILog logger2
= log4net.LogManager.GetLogger("TestLogger");
public Form1() {
logger1.Info("Start");
logger2.Info("hoge");
}
}
logger1のLogファイルには "Start"
logger2のLogファイルには "hoge"
と出力されるのを期待したのですが
logger1のLogファイルには "Start" と "hoge"
logger2のLogファイルには "hoge"
が出力されます。
どうして logger1 にまで logger2のインスタンスで
出力した内容がでるのかがわかりません。
ご存知のかたがいましたら
ご教授お願いします。
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
Log4Netを使用してLog出力を行っています。
現状1ファイルに出力している内容を
2ファイルに分けようとして
下記のように実装しました
===================
app.config
===================
<log4net>
<appender name="Appender1" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Appender1.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="size" />
<param name="MaximumFileSize" value="1MB" />
<param name="MaxSizeRollBackups" value="10" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C.%M - %m%n" />
</layout>
</appender>
<appender name="Appender2" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Appender2.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="size" />
<param name="MaximumFileSize" value="1MB" />
<param name="MaxSizeRollBackups" value="1" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C.%M - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="Appender1" />
</root>
<logger name="TestLogger">
<level value="INFO" />
<appender-ref ref="Appender2" />
</logger>
</log4net>
===================
ソース
===================
public partial class Form1 : Form {
// Logインスタンス1
private static readonly log4net.ILog logger1
= log4net.LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
// Logインスタンス2
private static readonly log4net.ILog logger2
= log4net.LogManager.GetLogger("TestLogger");
public Form1() {
logger1.Info("Start");
logger2.Info("hoge");
}
}
logger1のLogファイルには "Start"
logger2のLogファイルには "hoge"
と出力されるのを期待したのですが
logger1のLogファイルには "Start" と "hoge"
logger2のLogファイルには "hoge"
が出力されます。
どうして logger1 にまで logger2のインスタンスで
出力した内容がでるのかがわかりません。
ご存知のかたがいましたら
ご教授お願いします。