这是我用于项目的log4j文件,直到我将项目签入SVN存储库。这工作正常,我在Eclipse的控制台上看到了日志信息
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d - %p %t %C.%M (%F:%L) %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=x.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %p %t %C.%M (%F:%L) %m%n
我通过在log4j属性文件中进行此更改,从存储库和禁用日志记录中检出了我的项目。
#log4j.rootLogger=debug, stdout, R
log4j.rootLogger=OFF
但是这个改变没有按预期工作,我仍然在Eclipse的控制台上获得了日志信息。当我在终端上交叉检查相同时,它很好,我没有在终端上获得日志信息。 Eclipse有什么问题吗?我在这个问题上搜索了很多,没有得到任何解决方案。帮助我找出这里有什么问题!!!
答案 0 :(得分:2)
这里有两个可能的问题:
配置应该说(告诉它没有appender,而不是寻找OFF appender):
log4j.rootLogger =
Eclipse正在使用旧版本的文件,可能是因为您在Eclipse之外编辑了该文件。只需刷新文件(右键单击/刷新),它就应该按预期开始工作。
答案 1 :(得分:1)
使用-Dlog4j.debug
属性输出log4j内部调试信息,并查看启动时实际加载的日志配置
您将获得这样的信息(对于基于xml的配置,但我想您将获得与属性文件配置类似的信息):
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@11b86e7.
log4j: Using URL [file:/C:/develop/workspace/foobar/target/classes/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
'log4j: Using URL ...'
行来自LogManager类。