【问题标题】:log4net rolling file appender (by date) overwriting existing filelog4net 滚动文件附加程序(按日期)覆盖现有文件
【发布时间】:2013-06-19 15:38:35
【问题描述】:

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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以随时更改日期模式

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        相关资源
        最近更新 更多