1

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

4

2 回答 2

2

这里有两个可能的问题:

  1. 配置应该说(告诉它没有附加程序,而不是寻找关闭附加程序):

    log4j.rootLogger=

  2. Eclipse 正在使用该文件的旧版本,可能是因为您在 Eclipse 之外编辑了该文件。只需刷新文件(右键单击/刷新),它就会开始按预期工作。

于 2012-10-16T14:03:45.863 回答
1

使用该-Dlog4j.debug属性输出log4j-internal调试信息,查看启动时真正加载了哪些日志配置

你会得到一些这样的信息(对于基于 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类。

于 2012-10-16T14:09:45.367 回答