我正在使用log4net,并且在运行应用程序时,会创建几个日志文件.
每当时间格式更改时,log4net似乎都在创建一个新的日志文件,这意味着每隔一分钟我都会得到一个新的日志文件.
我可能误解了所使用的xml语法,但是我不确定其错误之处(也许是RollingFileAppender?).
这是xml文件:
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd_hhmm'.log'"/>
<file value="Boghe"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %logger:%line - %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="FileAppender"/>
</root>
</log4net>
谢谢
解决方法:
您需要将日期模式更改为类似
<datePattern value="yyyyMMdd" />
这将每天滚动一次日志文件.
例:
使用此配置
<file value="Foo" />
<StaticLogFileName value="false">
<datePattern value="yyyyMMdd_hhmm"/>
您告诉文件附加器每分钟创建一个新的日志文件(如果您至少每分钟一次向日志中写入内容).
假设您在2011年9月21日17:00:00启动了应用程序.您每秒输出日志记录信息.
这意味着在最初的60秒(直到17:00:59)中,所有输出都将存储到名为Foo20110921_1700的文件中.
在17:01:00发生下一个输出,文件将被“翻转”,这意味着将创建一个新文件Foo20110921_1701.
在接下来的60秒钟内,所有输出将进入该新文件.同样会在17:02:00、17:03:00等发生.
有关更多信息,请参见RollingFileAppender documentation