2

我正在使用 log4j 登录我的 java 程序。我需要根据日期在路径中记录内容。例如,我需要一个错误日志作为文件名“error.log”,其路径应为“log/13/6 /11/error.log”当记录日期是 11/June/2013 时。我如何根据上述要求创建 log4j 属性文件?

4

2 回答 2

1

Log4j提供了一个DailyRollingFileAppender可以完成这项工作的。您可以配置为包装当前文件并根据日期和/或时间开始记录到新文件。

log4j.properties会看起来像(除其他外,如pattern

log4j.appender.Appender2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Appender2.File=app.log
log4j.appender.Appender2.DatePattern='.'yyyy-MM-dd

这将滚动昨天的文件,app.log.2013-06-10而今天的文件将是app.log.

由于文件名不能包含路径分隔符log/13/6/11/error.log,因此无法将文件命名为。你可以考虑像app.log_13-6-11_error.log

log4j.appender.Appender2.File=app.log
log4j.appender.Appender2.DatePattern='_'yy-MM-dd'_error.log'

您当前的文件将被命名为app.log.

于 2013-06-11T14:26:08.083 回答
0

那不支持开箱即用afaik。您可以编写自己的附加程序或使用由 cron 作业触发的简单脚本移动文件。

于 2013-06-11T15:25:40.443 回答