Ran*_*ber 1 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
Run Code Online (Sandbox Code Playgroud)
我的问题是,在我的程序的每次运行中,我想清除文件"temp.ppr",然后使用lo4j有效地写入它?或者你推荐其他解决方案?
谢谢
您是否尝试过将该append属性设置FileAppender为false?
log4j.appender.FA.append=false
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.MaxBackupIndex=1
Run Code Online (Sandbox Code Playgroud)
然后在应用程序的启动代码中:
((RollingFileAppender)Logger.getRootLogger().getAppender("FA")).rollOver()
Run Code Online (Sandbox Code Playgroud)
这样,对于程序的每次运行,现有日志都会移动到“temp.ppr.1”,而“temp.ppr”会从新开始。这样,您也始终拥有上次运行的日志。