log4j 调试消息未显示在控制台中,尽管 isDebugEnabled 为 true
我正在我的项目中使用以下代码来记录log4j的调试消息
private static final Logger LOG = Logger.getLogger(MyClass.class)
// ...
if(LOG.isDebugEnabled()) {
LOG.debug("my log message");
}
我可以通过在写入调试消息的行中添加一个断点来确认我的log4j配置是否正确,即 确实返回 。有趣的是,我的调试消息不会显示在我的IDE(IntelliJ)的控制台中,但是当更改为 时,信息消息将按预期记录。LOG.isDebugEnabled()
true
LOG.debug()
LOG.info()
任何想法,我应该寻找什么,以找出这里出了什么问题?
编辑:这是我的log4j.属性文件
log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.Stdout.layout.conversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} - %m [thread: %t]\n
log4j.appender.Stdout.threshold=info
log4j.appender.StandaloneFile=org.apache.log4j.RollingFileAppender
log4j.appender.StandaloneFile.File=logs/standalone.log
log4j.appender.StandaloneFile.MaxFileSize=5MB
log4j.appender.StandaloneFile.MaxBackupIndex=20
log4j.appender.StandaloneFile.layout=org.apache.log4j.PatternLayout
log4j.appender.StandaloneFile.layout.ConversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} - %m [thread: %t]\n
log4j.appender.StandaloneFile.threshold=info
log4j.rootLogger=info, Stdout, StandaloneFile
log4j.logger.com.myPacke.package1=info, Stdout, StandaloneFile
log4j.logger.com.myPacke.package2=DEBUG