log4net滚动文件appender(按日期)覆盖现有文件

时间:2013-06-19 15:38:35

标签: c# asp.net-mvc log4net log4net-configuration log4net-appender

我目前有一个log4net滚动文件追加器,基于每天应滚动的日期。它已经持续了好几个月没有问题 - 但在上周它已经开始在白天的某个时候覆盖现有的日志。当日志文件达到10mb左右时似乎正在这样做。

这是配置:

<appender name="Standard" type="log4net.Appender.RollingFileAppender">
  <file value="..\..\Logs\" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <staticLogFileName value="false" />
  <datePattern value="yyyy-MM-dd'.log'" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d{yyyy-MM-dd HH:mm} %-5level %message%newline%exception" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="DEBUG" />
    <levelMax value="WARN" />
  </filter>
</appender>

我的理论是没有指定滚动样式,并且未指定最大尺寸,并且每个的默认设置为Composite和10mb。因此,当它达到10mb时,它开始翻转,并且由于静态日志文件名设置为false,它只会重写当前文件。

是这样的吗?或者在这里有其他问题吗?我添加了

<rollingStyle value="Date"/> 

现在,并将看到它如何发展。但要解释为什么会发生这种情况会很棒。

谢谢!

2 个答案:

答案 0 :(得分:0)

看起来我的理论是正确的!默认文件大小为10mb,默认滚动样式为复合。结合非静态文件名,当它达到10mb时,它只是转到同一个文件并再次开始记录。

答案 1 :(得分:0)

您可以随时更改日期模式

 <param name="DatePattern" value="yyyy-MM-dd-hh'.log'" />