我有一个滚动文件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>
答案 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>