我在具有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的大小仅用于测试功能,在生产中会更大。
有人可以帮忙吗?
谢谢
答案 0 :(得分:1)
您尚未配置maxSizeRollBackups,默认情况下为0,因此将没有备份文件,并且到达maximumFileSize
时日志文件将被截断。
配置为
<maxSizeRollBackups value="10" />
请注意,值为10的yyyyMMdd
DatePattern
每天将保留10个文件。