如何清除log4j日志文件(不仅仅是在启动时)?我的第一个想法是
How do I make log4j clear a log at startup?建议强行翻转
有更好的方法吗?
一些细节:我正在改进一种可以被视为两个应用程序的工具:一个"内部"应用程序使用log4j和"外部"进行日志记录一个通过gui显示这个日志。内部和外部应用程序共享其jvm。内部可以通过gui多次启动。我现在想要清除日志,使其仅显示上次运行的输出。
我只对小的更改进行了修改,因此让内部应用程序在自己的jvm中运行不是一种选择。也不是频繁重启整个工具。
答案 0 :(得分:1)
尝试使用MaxBackupIndex,见下文:
log4j.appender.myproject=org.apache.log4j.RollingFileAppender
log4j.appender.myproject.File=/export/logs/myproject.log
log4j.appender.myproject.MaxFileSize=10000KB
log4j.appender.myproject.MaxBackupIndex=0
log4j.appender.myproject.layout=org.apache.log4j.PatternLayout
当文件大小达到10MB时,日志将重新开始。
答案 1 :(得分:0)
使用log4j中附加的滚动文件...
它会破坏每次运行的日志文件。
谢谢和问候, 哈