Log4j XML配置调试级别问题

时间:2013-09-13 06:52:39

标签: java logging log4j

我正在为我的项目使用log4j xml配置,而不是log4j.properties文件。我试图在eclipse控制台中显示调试消息。但它没有成功。而是显示信息消息。

下面是我的log4j xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <param name="Threshold" value="debug" />
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
  </appender> 

  <root> 
    <level value ="debug" /> 
    <appender-ref ref="console" /> 
  </root>

</log4j:configuration>

在我的代码中,我正在检查以这种方式设置的日志级别

if(LOG.isDebugEnabled()){
            LOG.debug("debug is enabled");
            LOG.info("Debug enabled but using info to display this message");
            System.out.println("sys out debug is enabled");
}

我的eclipse控制台日志输出如下:

12:08:51,191 INFO  [com.abc.servlets.MainServlet] (http-localhost-127.0.0.1-8080-2) Debug enabled but using info to display this message
12:08:51,192 INFO  [stdout] (http-localhost-127.0.0.1-8080-2) sys out debug is enabled

其他信息:我正在使用Jboss App服务器。

仍在研究这个问题,但在我错了的地方,这并不适合我。

1 个答案:

答案 0 :(得分:1)

应该是

<priority value ="debug" />

而不是

<level value ="debug" /> 

in

 <root> 
    <level value ="debug" /> 
    <appender-ref ref="console" /> 
  </root>