尽管loglevel是TRACE,Eclipse中的log4j不会在info()上面打印任何内容

时间:2016-07-20 20:02:13

标签: java eclipse log4j

出于某种原因,我的log4j记录器仅在eclipse中将grep 'Value value="99.00"' *.xml 行打印到控制台,即使记录器已明确切换到TRACE级别。

我通过打印证实了上述内容:

info()

哪个给了我

logger.info("Log level: " + logger.getLevel()
           + " ;effective level: " + logger.getEffectiveLevel()
           + " ;isTraceEnabled: " + logger.isTraceEnabled());

但是,在后续行中,以下内容不会打印到控制台:

INFO  2016-07-20 15:57:21,391 [pool-10-thread-1] MyClass  
- Log level: TRACE ;effective level: TRACE ;isTraceEnabled: true

我猜这不是属性文件错误的情况,因为我在代码中明确地将logger loglevel设置为TRACE elesewhere。

1 个答案:

答案 0 :(得分:0)

想出来。

Log4j.xml有这个:

 <appender  name="default" class="my.wrapper.class.Log4JAppender">
      <param name="Threshold" value="INFO" />

必须将阈值更改为TRACE

      <param name="Threshold" value="TRACE" />