log4j属性更改未在Eclipse中反映出来

时间:2012-10-16 06:50:10

标签: java eclipse log4j

这是我用于项目的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有什么问题吗?我在这个问题上搜索了很多,没有得到任何解决方案。帮助我找出这里有什么问题!!!

2 个答案:

答案 0 :(得分:2)

这里有两个可能的问题:

  1. 配置应该说(告诉它没有appender,而不是寻找OFF appender):

    log4j.rootLogger =

  2. 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类。