using log4j for clearing a file?

2019-03-02 05:08发布

im using log4j to write into a file with the following properties file :

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

My problem is , that in each run of my program , i want to clear the file "temp.ppr" , and then write to it efficiently with lo4j? or do you recommend other solutions?

thanks

3条回答
萌系小妹纸
2楼-- · 2019-03-02 05:24

You could do this:

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

And then in the startup code of the application:

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

That way, for each run of the program, the existing log is moved to "temp.ppr.1" and "temp.ppr" starts new. This way, you always have the log of the previous run as well.

查看更多
三岁会撩人
3楼-- · 2019-03-02 05:28

Have you tried just setting the append property on the FileAppender to false?

log4j.appender.FA.append=false
查看更多
叛逆
4楼-- · 2019-03-02 05:37

I would suggest as part of your build tool (Apache Ant or Maven) to take care of clearing the file you don't want. Alternatively if you want to keep a backup you can use the RollingFileAppender

查看更多
登录 后发表回答