使用log4j清除文件?

时间:2010-12-23 23:32:31

标签: java log4j text-files appender

我使用log4j写入具有以下属性文件的文件:

log4j.rootLogger=DEBUG, FA

#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern= %m%n

我的问题是,在我的程序的每次运行中,我想清除文件“temp.ppr”,然后使用lo4j有效地写入它?或者你推荐其他解决方案吗?

感谢

3 个答案:

答案 0 :(得分:8)

您是否尝试将FileAppender上的append属性设置为false

log4j.appender.FA.append=false

答案 1 :(得分:4)

你可以这样做:

log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=1

然后在应用程序的启动代码中:

Logger.getRootLogger().getAppender("FA").rollOver()

这样,对于程序的每次运行,现有日志都会移动到“temp.ppr.1”,而“temp.ppr”会启动新的。这样,您始终可以记录上一次运行的日志。

答案 2 :(得分:0)

我建议您使用构建工具(Apache Ant或Maven)来清除您不想要的文件。或者,如果您想保留备份,可以使用RollingFileAppender