我正在尝试让 log4net RollingFileAdapter 工作,以便我的日志文件按日期滚动。但是我发现即使我复制示例代码,我也没有得到我期望的行为。它不是获取今天的日期和时间的单个文件,而是在两个不同的文件之间拆分日志消息。一个文件仅称为“log”,第二个文件遵循配置,将称为“log20130830-1115.txt”。
如果我<log4net debug="true">
在我的配置文件中使用,我会在 Trace 输出中看到以下内容:
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”的文件?为什么它似乎没有采取它所说的行动?'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>