在Log4j 2中,你可以使用 Delete策略来定期删除日志文件。以下是一个配置示例,演示如何在Log4j 2中配置定期删除日志文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <RollingFile name="RollingFile" fileName="logs/app.log"
                     filePattern="logs/app-%d{MM-dd-yyyy}-%i.log.gz">
            <Delete basePath="logs" maxDepth="1">
                <IfFileName glob="app-*.log.gz" />
                <IfLastModified age="7d" />
            </Delete>
            <PatternLayout pattern="%d %-5p [%t] %c: %m%n" />
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</Configuration>

在上面的示例中,<Delete>元素用于配置定期删除日志文件。具体来说,以下是配置的要点:

  • basePath="logs":指定日志文件的基本路径。
  • <IfFileName glob="app-*.log.gz" />:指定要删除的文件的文件名匹配模式。
  • <IfLastModified age="7d" />:指定文件的最后修改时间必须超过7天,才会被删除。

注意,上述配置会删除7天前的所有 app-*.log.gz日志文件。你可以根据需求调整 <IfFileName><IfLastModified>的参数以及其他配置。配置中的其他部分(如 <PatternLayout><Policies><DefaultRolloverStrategy>)用于日志文件滚动和策略。

确保将以上配置嵌入到你的Log4j 2配置文件中,并根据项目的需求进行适当的调整。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 08 月 15 日
如果觉得我的文章对你有用,请随意赞赏