【问题标题】:How do I configure Log4j2 to delete the files after X days如何配置 Log4j2 在 X 天后删除文件
【发布时间】:2017-03-07 16:49:04
【问题描述】:

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

【问题讨论】:

  • @sazzad 我已经用当前配置更新了问题。

标签: logging log4j log4j2


【解决方案1】:

您可以使用库中的RollingFileAppander 类并将其配置为保留特定天数的备份。

您可以参考我从环境中附加的示例 sn-p:

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 对此表示歉意,我现在该怎么办?我是新来的。
  • 你可以做很多事情。试着让你的 help 有用:)
  • 这不会使其最多 15 个日志,我不需要每天一个日志。我可能需要每小时记录一次日志,但只能在 X (5) 天后删除。
  • 正如@sazzad 所说,我需要在 Log4j2 中进行修复。
猜你喜欢
  • 1970-01-01
  • 2011-07-30
  • 2019-04-18
  • 2014-10-07
  • 2013-06-22
  • 2021-09-30
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多