我很新的log4net的,我试图创建多个文件,并用我的方法调用相应的登录到他们这里是我的代码:登录到几个文件,我做错了什么?
private static readonly ILog firstlog = LogManager.GetLogger("Data"); private static readonly ILog secondlog = LogManager.GetLogger("General");
,然后我日志是这样的:
firstlog.Info("some message"); secondlog.Info("some message");
,这里是我的配置文件:
<appender name="General" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="C:\logs\myfile1.log"/>
<param name="Threshold" value="DEBUG"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %method %-5level %logger – %message%newline"/>
</layout>
</appender>
<appender name="Data" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="C:\logs\myfile2.log"/>
<param name="Threshold" value="DEBUG"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %method %-5level %logger – %message%newline"/>
</layout>
</appender>
<logger name="general">
<appender-ref ref="General"/>
</logger>
<logger name="data">
<appender-ref ref="Data"/>
</logger>
<root>
<appender-ref ref="Data"/>
</root>
而且他们在一个文件中的所有记录,另两个文件是空的。为什么是这样? 我在做什么错?
“他们都记录在一个文件中” - 该文件实际上写? – rkellerm 2010-07-05 09:10:02
只是一个猜测,但你可以尝试提供确切的记录器名称LogManager.GetLogger万一它是区分大小写的。 – 2010-07-05 09:13:44
它们被记录到file2。 是的,我注意到数据和一般是小写,但我仍然得到同样的事情。 我在想根目录是“数据”appender,但我的记录器都没有做什么,我可能是错的。 – Precious 2010-07-05 09:17:40