【发布时间】:2014-02-22 01:08:44
【问题描述】:
我有批处理 java 程序。它将每 1 小时运行一次。
我想知道以下情况下正确的 log4j appender 是什么:
1) 每次作业运行时创建一个新的日志文件。这意味着日志仅包含该特定运行,不应包含旧运行数据。 2) 维护当天相同的日志文件。如果第二天,则创建新文件
请帮忙。
【问题讨论】:
我有批处理 java 程序。它将每 1 小时运行一次。
我想知道以下情况下正确的 log4j appender 是什么:
1) 每次作业运行时创建一个新的日志文件。这意味着日志仅包含该特定运行,不应包含旧运行数据。 2) 维护当天相同的日志文件。如果第二天,则创建新文件
请帮忙。
【问题讨论】:
RollingFileAppender 允许您定义创建新日志的频率,如果添加append=false 参数,则每次打开日志时都会截断日志,
log4j.appender.LOG=org.apache.log4j.RollingFileAppender
log4j.appender.LOG.File=/path/to/your/file
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG.MaxFileSize=10MB
log4j.appender.LOG.MaxBackupIndex=5
log4j.appender.LOG.append=false
您也可以尝试DailyRollingFileAppender,默认情况下每天都会滚动,如果这些都不太适合您的需求,您可以随时通过扩展standard implementations 之一来编写自己的Appender 实现。
【讨论】: