当我们在log4j中使用基于大小的日志文件时,如何将时间戳添加到日志文件名?

时间:2013-08-06 13:10:23

标签: java log4j

我想创建基于大小的日志文件。我在log4j.properties文件中设置以下条目:

log4j.appender.UserFileAppenderDebug=org.apache.log4j.RollingFileAppender

log4j.appender.UserFileAppenderDebug.Threshold=TRACE

log4j.appender.UserFileAppenderDebug.File=../log/coordinator-debug.log

log4j.appender.UserFileAppenderDebug.MaxFileSize=1KB

log4j.appender.UserFileAppenderDebug.MaxBackupIndex=7

log4j.appender.UserFileAppenderDebug.layout=org.apache.log4j.PatternLayout

log4j.appender.UserFileAppenderDebug.layout.ConversionPattern=%m%n

根据大小创建多个日志文件,但名称如下:

-rw-r--r-- 1 root root   32 Aug  6 11:28 coordinator-debug.log

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.1

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.2

-rw-r--r-- 1 root root 1.2K Aug  6 11:28 coordinator-debug.log.3

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.4

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.5

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.6

-rw-r--r-- 1 root root 1.1K Aug  6 11:28 coordinator-debug.log.7

我希望文件名如下

coordinator-debug.log.2013-08-01 11:28:39, 232

如果您能分享您的意见/建议,我将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:4)

你试过了吗?

<强> log4j.appender.UserFileAppenderDebug.DatePattern = '' YYYY-MM-DD_HH毫米-β

  

(请记住,你的文件名不允许:例如11:28:39,你需要将它们替换为例如11-28-39)

(的编辑

抱歉,我以为您使用了* 每日 * RollingFileAppender ......

您可以使用RollingPolic来获取RollingFileAppender的文件名模式。

E.g。

log4j.appender.UserFileAppenderDebug.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy

log4j.appender.UserFileAppenderDebug.RollingPolicy.FileNamePattern=../log/coordinator-debug.log.%d{yyyy-MM-dd-HH-mm-ss}