我有一个使用log4j appender的Java项目,它作为批处理工作。
我希望它为每次执行都滚动一个文件。
Log4j提供了一段时间(DailyRollingFileAppender
)或文件长度(RollingFileAppender
)来滚动文件,这对于持续开启的应用程序很有用,比如Java EE,但是批次不太好。
有没有办法手动触发文件滚动?
答案 0 :(得分:3)
最后,这很容易,我只需要执行以下操作:
for (Enumeration<Appender> e = Logger.getRootLogger().getAllAppenders(); e.hasMoreElements();) {
Appender a = e.nextElement();
if (a instanceof RollingFileAppender) {
((RollingFileAppender) a).rollOver();
}
}
在批处理的开始......