如何使用 apache log4j 将时间戳添加到日志文件名

如何使用 apache log4j 将时间戳添加到日志文件名

我是 apache logger 的新手。我已下载 log4j-xx,并且有以下文本配置文件

# Set root logger level to DEBUG and its only appender to mainFormat.
log4j.rootLogger = TRACE, mainFormat, FILE


# mainFormat is set to be a ConsoleAppender.
log4j.appender.mainFormat=org.apache.log4j.ConsoleAppender

# mainFormat uses PatternLayout.
log4j.appender.mainFormat.layout=org.apache.log4j.PatternLayout
log4j.appender.mainFormat.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

#File makes a file of the output.
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=log4j_HAPR001_OutputFile.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

我使用上述配置文件来创建日志文件。现在我想将当前时间戳添加到日志文件中。有什么方法可以做到这一点吗?如果有,请有人给我说明如何操作。提前致谢。

问候,Swati

答案1

DailyRollingFileAppenderLog4j 完全可以满足您的要求。

答案2

下载一份 org.apache.log4j.FileAppender 副本(例子)。

将其复制到您自己的命名空间并重构......

注释掉“getName”和“setName”属性并添加“getDirectory”和“setDirectory”属性。

聪明的东西来自于激活选项()调用,你现在可以动态创建文件名变量。对于你的情况,你需要使用日历班级。

不要忘记更改 log4j.properties 文件,例如:

#File makes a file of the output.
#log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE=com.yourcompany.yourFileAppender
#log4j.appender.FILE.File=log4j_HAPR001_OutputFile.log
log4j.appender.FILE.Directory=${catalina.base}/logs

相关内容