我很新的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