我試圖讓log4net RollingFileAdapter工作,以便我的日誌文件按日期滾動。但是我發現,即使我複製example code,我也沒有得到我期望的行爲。它不是獲取當今日期和時間的單個文件,而是將日誌消息分割成兩個不同的文件。一個文件被稱爲「日誌」,第二個文件服從配置,將被稱爲「log20130830-1115.txt」。爲什麼log4net在使用RollingFileAppender時創建兩個單獨的日誌文件?
如果我在配置文件中使用<log4net debug="true">
,我看到在跟蹤輸出folling:
log4net: Initial roll over to [c:\inetpub\wwwroot\QuartzTest\ScheduleTest\bin\Debug\log20130830-1115.txt]
log4net: Moving [c:\inetpub\wwwroot\QuartzTest\ScheduleTest\bin\Debug\log] -> [c:\inetpub\wwwroot\QuartzTest\ScheduleTest\bin\Debug\log20130830-1115.txt]
通知書線兩條...爲什麼它首先創建一個名爲「日誌」文件?爲什麼它似乎沒有采取這樣的舉措呢? 'log'中的條目總是在正確命名文件中的任何條目之後加上時間戳,即使該文件首先出現。
這裏發生了什麼?我搞砸了配置還是有log4net RollingFileAppender中的錯誤?
這裏是我的配置:
<log4net debug="true">
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[log4net] %d [%t] %-5p %l - %m%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HHmm'.txt'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="TraceAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
這個東西還有沒有改進log4net?一旦當前日誌達到2 MB,我需要用日期時間戳創建日誌:( – Prasanna