如何配置log4net appender以登录默认日志文件名,并在当前日志文件达到其定义的限制时生成日志文件,但保留现有的生成日志文件。
示例(日志追加器记录到log.log
)
log.log log.1.log log.2.log
log.log达到其大小限制,我想要的是将log.log重命名为log.3.log,而不是log.1.log(而log.1.log变为log.2.log,并且log.2.log成为log.3.log)。
我以为我可以使用StaticLogFileName
属性实现此目的,但似乎并非如此。
当前的追加者:
<appender name="ContextLogAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\IAI\Logs\ContextLog\context_log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true"/>
<PreserveLogFileNameExtension value="true" />
<layout type="log4net.Layout.PatternLayout">
<header value="%newline===[SOFTWARE STARTUP AT %date]===%newline" type="log4net.Util.PatternString" />
<footer value="%newline===[SOFTWARE SHUTDOWN]===%newline%newline" type="log4net.Util.PatternString" />
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%-5level][thread: %thread][%logger] %message%newline" />
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="PRODUCTION" />
</filter>
</appender>
答案 0 :(得分:2)
找到设置,可以使用countDirection
配置方向。
<appender name="ContextLogAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\IAI\Logs\ContextLog\context_log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true"/>
*<countDirection value="1"/>*
countDirection < 0
将导致日志文件1重命名为日志文件2. countDirection > 0
将导致日志文件保留其文件名,以及最新生成的日志文件,其编号最大。