【问题标题】:Log4net RollingFileAppender is Overwriting file and not appending number to endLog4net RollingFileAppender 正在覆盖文件而不是将数字附加到结尾
【发布时间】:2019-02-07 17:32:12
【问题描述】:

我在带有 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 大小仅用于测试功能,在生产中会更大。

谁能帮忙?

谢谢

【问题讨论】:

    标签: .net vb.net log4net log4net-configuration rollingfileappender


    【解决方案1】:

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

    配置为

    <maxSizeRollBackups value="10" />
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-04
      • 2015-05-25
      • 2012-06-03
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多