RollingFileAppender在滚动后,它不会再附加

时间:2010-09-06 13:18:42

标签: log4net log4net-configuration

我有一个滚动文件appender,每晚都会滚动文件。但是,当它滚动它时,新文件只有一个日志条目。似乎该文件不再附加日志条目。如果我重新启动服务,它会正确记录。

以下是我的设置:

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="Log.txt"/>
  <appendToFile value="true" />
    <staticLogFileName value="true" />
  <rollingStyle value="Date" />
  <datePattern value=" yyyy-MM-dd" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <threshold value="DEBUG" />
  <layout type="log4net.Layout.PatternLayout">
   <conversionPattern value="%date [%thread] %-5level %logger  - %message%newline" />
  </layout>
 </appender>

2 个答案:

答案 0 :(得分:3)

我发现了问题所在。我在配置中删除了这一行,它在滚动文件后开始正确追加:

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 

答案 1 :(得分:1)

maxSizeRollBackups设置为某个值(maxSizeRollBackups设置为负1以允许无限数量的备份文件)

  

此示例显示如何配置   RollingFileAppender用于滚动日志文件   每个程序执行一次。该   appendToFile属性设置为false   防止appender   覆盖现有文件。该   maxSizeRollBackups设置为负数   1允许无限数量   备份文件。文件大小确实有   有限但在这里它被设置为50   千兆字节,如果日志文件超过   单次运行期间的此大小限制   那么它也将被推出。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="logfile.txt" />
    <appendToFile value="false" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="-1" />
    <maximumFileSize value="50GB" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

Ref