我有一个Log4j2的特定请求。我们的设置在Java 6上运行,暂时无法升级。因此我可以使用的最高版本的Log4j2是2.3.x。我希望使用Log4j2配置在X天后删除日志文件。是否有可能直接或通过编写自定义处理程序?
我现在拥有的:
<Properties>
...
<Property name="PAYLOADfilename">${sys:com.x.payload.logfile} </Property>
</Properties>
<Appenders>
...
<RollingRandomAccessFile name="PAYLOAD" fileName="${PAYLOADfilename}" filePattern="${PAYLOADfilename}_%d{ddMMyyyy}_%i">
<PatternLayout>
<Pattern>[%d] %p %c{1} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
<DefaultRolloverStrategy max="99"/>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
...
</Loggers>
答案 0 :(得分:0)
您可以使用库中的reference you could find here类,并将其配置为保留特定金额天数的备份。
您可以参考我从我的环境中附加的示例代码段:
log4j.rootLogger=debug, stdout, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.MaxFileSize=1024KB
log4j.appender.R.File=console.log
log4j.appender.R.MaxBackupIndex=15
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
这里我将在过去15天内进行备份,您可以根据自己的要求进行配置。
注意:如果您需要更多理解,请在此处回复。