Log4net文件rollingFile不删除旧文件

时间:2018-04-25 19:23:25

标签: log4net

我在web服务web.config文件中设置了log4Net以及以下配置设置:

  <log4net>
<!-- RollingFile is set to be a File Appender -->
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  <file value="c:\temp\Sync.log" />
  <appendToFile value="true" />
  <maximumFileSize value="50MB" />
  <maxSizeRollBackups value="10" />
  <datePattern value="yyyyMMdd" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date  %-5level %-50logger - %message%newline%newline" />
  </layout>
</appender>
<!-- Set root logger level to DEBUG to have all log -->
<root>
  <level value="INFO" />
  <appender-ref ref="RollingFile" />
</root>

我遇到的问题是当我看到temp时,我会看到17个文件 的sync.log Sync.log20180424.log (其他带日期的同步文件) ... 最后一个是 Sync.log20180405

我很困惑为什么它没有删除超过10天的那些,如maxSizeRollBackups所述。 我知道默认情况下是rollingStyle = composite。 使用我当前的配置,如果我放手,它会如何表现? 而作为第二个 - 我目前的设置中缺少什么。

感谢。我知道有类似的问题,但在阅读它们时,我觉得我仍然缺少一些东西。

1 个答案:

答案 0 :(得分:0)

事实证明,我试图做的事情是不可能的 如其他地方所述:

不支持在日期/时间边界上滚动时的最大备份文件数。

因此,我将日期部分取出,以便备份仅按大小滚动。在这之后,我没有同样的问题。我不太喜欢文件名,但仍然很容易根据上次编辑日期的文件属性来跟踪它们。