使用log4j清除文件吗?

问题描述 投票:1回答:3

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有效地对其进行写入?还是您建议其他解决方案?

谢谢

java log4j text-files appender
3个回答
5
投票

您可以这样做:

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

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

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

这样,对于程序的每次运行,现有日志都将移至“ temp.ppr.1”,而“ temp.ppr”将重新开始。这样,您也总是拥有上一次运行的日志。


8
投票

您是否尝试过仅将appendFileAppender属性设置为FileAppender

false

0
投票

我建议作为构建工具(Apache Ant或Maven)的一部分,以清除不需要的文件。或者,如果要保留备份,可以使用log4j.appender.FA.append=false

© www.soinside.com 2019 - 2024. All rights reserved.