1

在我的项目中,我需要设置一个 Log4j2 配置来生成一个每天滚动的日志文件。另一个要求是只保留 2 天的日志文件。所以我必须限制要保存在系统中的文件总数。以下是我从研究中得到的,但它只限制每天的文件数量,而不是文件总数。我想知道是否有一种方便的方法来限制要保留的最大日志副本数?

<RollingFile name="DailyRollingFile" fileName="logs/audit.log"
append="false" immediateFlush="true" filePattern="logs/audit-%d{yyyy-MM-dd}-%i.log">
    <PatternLayout>
    <pattern>%d %p [%t] - %m%n</pattern>
</PatternLayout>
<Policies>
    <TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy max="2" />
</RollingFile>

谢谢你的帮助!

4

3 回答 3

2

同时,问题跟踪器中有一个功能请求:https ://issues.apache.org/jira/browse/LOG4J2-435

于 2013-12-28T20:55:46.933 回答
1

我可以建议您将此作为功能请求定向到 Apache Logging 邮件列表 ( https://logging.apache.org/log4j/2.x/mail-lists.html ) 或 Log4j-2.0 问题跟踪器 ( https: //issues.apache.org/jira/browse/LOG4J2)?

于 2013-05-12T05:55:58.210 回答
0

文件的最大数量也限制在指定的数量

<DefaultRolloverStrategy max="2" />

在翻转时,将只保留指定数量的文件。旧文件将被翻转。即任何时间点的日志文件总数将是为字段 DefaultRolloverStrategy 指定的最大值。

从 Log4j 2.5 开始,可以配置自定义删除操作。按照此处的详细信息。 https://logging.apache.org/log4j/2.x/manual/appenders.html#CustomDeleteOnRollover

于 2017-06-20T08:32:11.173 回答