log4net滚动文件appender配置 [英] log4net rolling file appender configuration

查看:82
本文介绍了log4net滚动文件appender配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我正在尝试配置log4net滚动文件appender,因此它会每分钟创建一个新日志。以下是我的配置。





Hi
I am trying to configure the log4net rolling file appender, so it would create a new log every minute. Below is my configuration.


<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="Logs/Log_%date{dd.MM.yyyy-HH.mm}.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <maxSizeRollBackups value="6" />
      <datePattern value="yyyyMMdd-HHmm" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{HH:mm:ss,fff}, %message%newline" />
      </layout>
    </appender>





使用此配置我每分钟都会得到一个新的日志。唯一的问题是日志的名称。第一个日志的文件名是预期的:Log_12.05.2013-01.43.log。

问题在于连续的日志文件。

下一个未按预期命名为Log_12.05.2013-01.44.log但

Log_12.05.2013-01.43.log20130512-0143



我似乎找到了解决问题的部分方案。问题在于文件元素的value属性和缺少的preserveLogFileNameExtension元素。

以下是更新的配置





With this configuration I get a new log every minute which is OK. The only problem is the name of the logs. The file name of the first log is as expected: Log_12.05.2013-01.43.log .
The problem is with the consecutive log files.
The next one is not named Log_12.05.2013-01.44.log as expected but
Log_12.05.2013-01.43.log20130512-0143

It seems I found a partial solution to my problem. The problem was with the "value" attribute of the file element, and the missing "preserveLogFileNameExtension" element.
Below is the updated configuration

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="Logs/Log_.log" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd-HHmm" />
      <maxSizeRollBackups value="6" />
      <preserveLogFileNameExtension value="true"/>
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{HH:mm:ss,fff}, %message%newline" />
      </layout>
    </appender>





但是使用新配置还有另一个问题。看来maxSizeRollBackups元素没有效果 - log4net没有删除旧日志。


$ b $bUroš



But with the new configuration there is another problem. It seems that the "maxSizeRollBackups" element has no effect - the log4net is not deleting the old logs.

Uroš

推荐答案

按日期滚动似乎不支持maxSizeRollBackups。有关更多信息或任何人需要该功能,请参阅此 http://stackoverflow.com / questions / 2290552 / log4net-remove-old-files-rolling-by-date [ ^ ]链接
It seems that maxSizeRollBackups is not supported when rolling by date. For more information or if anybody needs that functionality follow this http://stackoverflow.com/questions/2290552/log4net-remove-old-files-rolling-by-date[^] link


您需要替换rollingStyle的值By Composite 并添加maximumFileSize元素,不需要 maxSizeRollBackup 元素。您可以删除maxSizeRollBackup元素。



更新配置低于



You need to replace value of rollingStyle By Composite and to add maximumFileSize element and no need maxSizeRollBackup element.You may delete maxSizeRollBackup element.

the updated configuration is below

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
   <file type="log4net.Util.PatternString" value="Logs/Log_.log" />
   <appendToFile value="true" />
   <rollingStyle value="Composite" />
   <datePattern value="yyyyMMdd" />
   <maximumFileSize value="1KB" />
   <preserveLogFileNameExtension value="true"/>
   <staticLogFileName value="false" />
   <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date{HH:mm:ss,fff}, %message%newline" />
   </layout>
 </appender>


这篇关于log4net滚动文件appender配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆