3

我目前有一个 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"/> 

现在,看看情况如何。但是能解释为什么会发生这种情况会很棒。

谢谢!

4

2 回答 2

1

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

于 2013-06-19T15:47:53.160 回答
0

你总是可以改变你的日期模式

 <param name="DatePattern" value="yyyy-MM-dd-hh'.log'" />
于 2013-06-19T21:24:34.420 回答