是否可以将 Log4net 配置为清理日志文件而不是按天清理?
Is possible to configure Log4net to clean log files but not by day?
现在我有以下配置:
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="c:\temp\log.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<maxSizeRollBackups value="100" />
<lockingModel type="log4net.Appender.FileAppender+MutexLock" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%thread]; %-5level; %date{yyyy-dd-MM HH:mm:ss.fff}; [%logger]; %message; %newline"/>
</layout>
</appender>
通过这种配置,我得到了很多日志文件(每天 100 个日志文件),例如:
DAY 20:
log.txt.2016-07-20.1
log.txt.2016-07-20.2
...
log.txt.2016-07-20.100
DAY 21:
log.txt.2016-07-21.1
log.txt.2016-07-21.2
...
log.txt.2016-07-21.100
我想控制文件总数为 100 个文件,而不是每天 100 个文件。我怎么能这样控制?
您还没有指定 RollingStyle
so that defaults to RollingMode.Composite
Composite: Roll files based on both the size and date of the file
这就是您每天 maxSizeRollBackups
的原因,因为默认日期滚动是每天一次。
你只想按大小而不是日期滚动,所以你应该将它添加到 appender 配置中:
<rollingStyle value="Size" />
中有更多详细信息
现在我有以下配置:
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="c:\temp\log.txt" />
<appendToFile value="true" />
<maximumFileSize value="2MB" />
<maxSizeRollBackups value="100" />
<lockingModel type="log4net.Appender.FileAppender+MutexLock" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%thread]; %-5level; %date{yyyy-dd-MM HH:mm:ss.fff}; [%logger]; %message; %newline"/>
</layout>
</appender>
通过这种配置,我得到了很多日志文件(每天 100 个日志文件),例如:
DAY 20:
log.txt.2016-07-20.1
log.txt.2016-07-20.2
...
log.txt.2016-07-20.100
DAY 21:
log.txt.2016-07-21.1
log.txt.2016-07-21.2
...
log.txt.2016-07-21.100
我想控制文件总数为 100 个文件,而不是每天 100 个文件。我怎么能这样控制?
您还没有指定 RollingStyle
so that defaults to RollingMode.Composite
Composite: Roll files based on both the size and date of the file
这就是您每天 maxSizeRollBackups
的原因,因为默认日期滚动是每天一次。
你只想按大小而不是日期滚动,所以你应该将它添加到 appender 配置中:
<rollingStyle value="Size" />
中有更多详细信息