我使用Log4j RollingFileAppender来创建基于大小的日志轮换.
如何将其配置为在旋转前记录每个文件一段时间?
例如,每个日志文件包含一小时的日志,在每小时的顶部旋转?
我使用Properties对象(而不是log4j.properties文件)在Java中以编程方式配置Log4j
Rob*_*ska 30
您可能想要使用DailyRollingFileAppender.例如,要按小时滚动它们,您将使用DatePattern '.'yyyy-MM-dd-HH.对于log4j.properties文件:
log4j.appender.myAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myAppender.DatePattern='.'yyyy-MM-dd-HH
...
Run Code Online (Sandbox Code Playgroud)
或者为您的程序化配置:
DailyRollingFileAppender appender = new DailyRollingFileAppender();
appender.setDatePattern("'.'yyyy-MM-dd-HH");
Logger root = Logger.getRootLogger();
root.addAppender(appender);
Run Code Online (Sandbox Code Playgroud)
不幸的是,使用DailyRollingFileAppender意味着您不能限制文件大小 - 如果您在给定的滚动周期中有大量日志,这可能会有问题.