【发布时间】:2018-02-13 08:34:36
【问题描述】:
我正在尝试配置一个 RollingFile 附加程序,该附加程序在每个月(18 个月)后执行翻转。但是,此外,如果 log4j2 达到 25 MB,我希望 log4j2 覆盖我当前的日志。例如,如果我们目前在二月,那么我将有一个一月的先前日志。但是,如果我当前 2 月的日志将达到 25 MB,那么我的 2 月日志将被 2 月的新日志覆盖。这是我当前的 appender 配置:
<RollingFile name="audit-log" fileName="${sys:user.dir}/${baseDir}/${projectName}-Audit.log" immediateFlush="true" filePattern="${sys:user.dir}/${baseDir}/${projectName}-Audit.%d{yyyy-MM}.log">
<PatternLayout pattern="%d %-5level: %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="25 MB"/>
</Policies>
<DefaultRolloverStrategy max="18"/>
</RollingFile>
但是,无论我是换了几个月还是达到了 25 MB 的大小限制,这都会产生影响。如何让日志仅在切换月份后滚动,但在达到大小限制后覆盖当前日志?
谢谢!
【问题讨论】: