im使用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有效地对其进行写入?还是您建议其他解决方案?
谢谢
您可以这样做:
log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=1
然后在应用程序的启动代码中:
((RollingFileAppender)Logger.getRootLogger().getAppender("FA")).rollOver()
这样,对于程序的每次运行,现有日志都将移至“ temp.ppr.1”,而“ temp.ppr”将重新开始。这样,您也总是拥有上一次运行的日志。
您是否尝试过仅将append
的FileAppender
属性设置为FileAppender
?
false
我建议作为构建工具(Apache Ant或Maven)的一部分,以清除不需要的文件。或者,如果要保留备份,可以使用log4j.appender.FA.append=false