Java 如何检查是否加载了log4j.properties?

Java 如何检查是否加载了log4j.properties?,java,eclipse,logging,log4j,Java,Eclipse,Logging,Log4j,我正在使用log4j(编译组slf4j,运行时组logback),并在log4j.properties文件中进行配置 我想我用这个选项正确地配置了它 log4j.rootLogger=INFO, stdout, file log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log

我正在使用log4j(编译组slf4j,运行时组logback),并在log4j.properties文件中进行配置

我想我用这个选项正确地配置了它

log4j.rootLogger=INFO, stdout, file

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=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.stdout.threshold=info

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/home/user/logging.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=20
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p [%d{dd.MM.yy HH:mm:ss}] %C{1} - %m [thread: %t]\n
log4j.appender.file.threshold=info
但是当我运行调试消息时

logger.debug("foo")
我在控制台中看到的输出与我的模式不匹配

下一个问题是文件(/home/user/logging.log)中没有任何内容,所以我认为我的属性文件没有加载,不知道如何修复它

我将log4j.properties文件放在eclipse项目的根级别的参考资料(src/main/resources)中,但仍然没有任何更改。我的项目文件夹正确地位于类路径中


编辑:问题是我使用
Logback
()作为我的运行时记录器,但是这个库使用
Logback.xml
配置文件,而不是
log4j.properties
org.apache.log4j
库。

根据日志级别
INFO
DEBUG
这就是
Logger.DEBUG(“foo”)的原因
将不会被记录

这是按顺序记录的级别,从最特定到最不特定

DEBUG > INFO > WARN > ERROR > FATAL
如果启用了
INFO
,则低于它的日志记录级别也将启用

试一试


感谢您的回复,但一切都没有改变。我在Eclipse控制台中看到了所有调试和错误输出,而在文件中没有任何输出。就像我写我的帖子一样。好消息,至少它正在控制台中打印。现在你正朝着正确的方向去解决这个问题。当然我做了,但什么也没发生。我的属性文件似乎没有加载,如果我向其中添加了任何内容,则不会有任何更改。属性文件正在正确拾取。要确认它,请更改
stdout
的模式,并查看它在eclipse控制台中打印的内容。我在Eclipse控制台中看到了所有调试和错误输出,为什么会发生这种情况?属性文件正在正确拾取。问题在于文件日志记录配置。是否在所需位置创建文件?如果不是,则尝试绝对路径。
log4j.rootLogger=DEBUG, stdout, file
...
log4j.appender.stdout.threshold=debug
...
log4j.appender.file.threshold=debug