gpt4 book ai didi

java - 如何在 Log4j 中根据时间而不是大小轮换日志文件?

转载 作者:太空狗 更新时间:2023-10-29 22:32:11 24 4
gpt4 key购买 nike

我将 Log4j 与 RollingFileAppender 结合使用,以根据大小创建日志轮换。

如何将其配置为在轮换之前将每个文件记录到一定的时间

例如,让每个日志文件包含一个小时的日志,在每个小时的顶部轮换?

我使用 Properties 对象(而不是 log4j.properties 文件)在 Java 中以编程方式配置 Log4j

最佳答案

您可能想使用 DailyRollingFileAppender .例如,要每小时滚动一次,您可以使用 '.'yyyy-MM-dd-HH 的 DatePattern。对于 log4j.properties 文件:

log4j.appender.myAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myAppender.DatePattern='.'yyyy-MM-dd-HH
...

或者对于您的编程配置:

DailyRollingFileAppender appender = new DailyRollingFileAppender();
appender.setDatePattern("'.'yyyy-MM-dd-HH");

Logger root = Logger.getRootLogger();
root.addAppender(appender);

不幸的是,使用 DailyRollingFileAppender 意味着您无法限制文件大小 - 如果您在给定的滚动周期内有大量日志,这可能会出现问题。

关于java - 如何在 Log4j 中根据时间而不是大小轮换日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com