我最近在我的项目中添加了log4j,所有日志都按预期打印。
现在我在log4j.properties文件中添加了时间戳,服务器生成的日志使用时间戳打印,但是从logger.info()和logger.error()打印的语句没有使用时间戳打印。我的log4j.properties就是这样的:
logFileLoc = ${catalina.base}/logs/
log4j.rootLogger=INFO, stdout, fileAppender
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}: [%-5p] %c{1}:%L - %m%n
# Redirect Log Messages To A Debug Log File, Support File Rolling !!
log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.fileAppender.File=${logFileLoc}/catalina.out
log4j.appender.fileAppender.MaxFileSize=50MB
log4j.appender.fileAppender.MaxBackupIndex=10
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}: [%-5p] %c{1}:%L - %m%n
每当我在代码中尝试这样的操作时:
LOGGER.debug("creating HomePage");
这是我在日志文件中看到的:
creating HomePage
有谁能建议我如何在日志记录语句中打印时间戳吗?这将是非常可观的。
1条答案
按热度按时间czq61nw11#
我检查了你的配置
log4j 1.2.17
一切正常。我认为您在类路径中有其他log4j配置文件,或者您正在使用系统变量(例如
log4j.defaultInitOverride
或者其他一些)对log4j配置有影响。我建议调试log4j
在的静态块中初始化LogManager
上课,然后你会看到从哪个地方log4j
正在加载配置。如果我错了,请提供代码复制您的问题。