Logging 如何配置Log4j2在X天后删除文件

Logging 如何配置Log4j2在X天后删除文件,logging,log4j,log4j2,Logging,Log4j,Log4j2,我对Log4j2有一个特定的请求。我们的安装程序正在Java 6上运行,目前无法升级。因此,我可以使用的Log4j2的最高版本是2.3.x。我希望使用Log4j2配置在X天后删除日志文件。是否有可能直接或通过编写自定义处理程序 我现在所拥有的: <Properties> ... <Property name="PAYLOADfilename">${sys:com.x.payload.logfile} </Property> &

我对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>

...
${sys:com.x.payload.logfile}
...    
[%d]%p%c{1}[%t]%m%n
...
您可以使用库中的类,并将其配置为保留特定天数的备份

您可以参考我从我的环境中附加的示例代码段:

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天的备份,您可以根据您的要求进行配置


注意:如果您需要更多了解,请在此处回复。

OP特别询问了Log4j2。虽然您提供的链接是关于Log4j2的,但您的示例是Log4j(1)。@sazzad对此表示歉意,我现在该怎么办?我是新来的。你可以做很多事情。只是尽量让你的帮助有用:)这不会使它最多15个日志,我不需要每天一个日志。我可能每小时需要一个日志,但只能在X(5)天后删除。正如@sazzad所说,我需要在Log4j2中进行修复。@sazzad我已经用当前配置更新了这个问题。