每次执行的Log4j roll文件

时间:2012-11-27 14:02:40

标签: log4j

我有一个使用log4j appender的Java项目,它作为批处理工作。

我希望它为每次执行都滚动一个文件。

Log4j提供了一段时间(DailyRollingFileAppender)或文件长度(RollingFileAppender)来滚动文件,这对于持续开启的应用程序很有用,比如Java EE,但是批次不太好。

有没有办法手动触发文件滚动?

1 个答案:

答案 0 :(得分:3)

最后,这很容易,我只需要执行以下操作:

for (Enumeration<Appender> e = Logger.getRootLogger().getAllAppenders(); e.hasMoreElements();) {
            Appender a = e.nextElement();
            if (a instanceof RollingFileAppender) {
                ((RollingFileAppender) a).rollOver();
            }
        }

在批处理的开始......