我为输出 csv 日志文件的 log4j 配置了以下内容。每次我的程序执行时,我都希望通过覆盖而不是附加到日志文件来重新启动这个日志文件。我想我可以通过使用 append=false
来实现这一点。我知道我已经正确设置了 log4j,因为其他日志输出正常,但这些是每日滚动的日志,它们正在追加,这是期望的影响。
谁能告诉我为什么 append=false
似乎不起作用。我错过了其他设置吗?
这是我的配置代码:
#Image output
log4j.logger.fetch.FetchDirectHolidays=debug, S
log4j.appender.S=org.apache.log4j.FileAppender
log4j.appender.S.File=xml\\logs\\FetchDirectHolidays.csv
log4j.appender.S.append=false
# Keep one backup file
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern= %p , %m%n
我的配置有什么问题?
我忘记说明我的应用程序已安排,我刚刚读到 Append=false 仅在整个应用程序关闭并重新启动时才清除日志文件。这无济于事,因为每次执行内部进程时我都需要清除此日志文件。
最佳答案
尝试
log4j.appender.S.Append=false
用大写字母 A 表示追加
关于java - log4j append=false 对我不起作用……为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712333/