在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配置文件中,并根据项目的需求进行适当的调整。