Log4net RollingFileAppender 正在覆盖文件而不是将数字附加到末尾

Log4net RollingFileAppender is Overwriting file and not appending number to end

我在带有 RollingFileAppender 的应用程序中使用 log4net。我将 rollingStyle 设置为 "Composite" 并将 staticLogFileName 设置为 "false" 但是当达到 maximumFileSize 时,它​​会覆盖当前文件而不是在末尾附加 1。下面是我的配置代码:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="RollingFileAppender"/>
  </root>
  <appender name="console" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %level %logger - %message%newline" />
    </layout>
  </appender>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="logs\" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <datePattern value="yyyyMMdd'.log'" />
    <staticLogFileName value="false" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <maximumFileSize value="10KB" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %level %logger - %message%newline" />
    </layout>
  </appender>
</log4net>

当这一天结束时,日期部分可以正常工作,但我无法弄清楚为什么文件大小不正确。请注意 10kb 大小仅用于测试功能,在生产中会更大。

有人可以帮忙吗?

谢谢

您没有配置maxSizeRollBackups,默认为0,所以不会有备份文件,日志文件会在到达maximumFileSize时被截断。

配置为

<maxSizeRollBackups value="10" />

请注意,值 10 与 yyyyMMdd DatePattern 的组合将每天保留 10 个文件。