开发者

SLF4J logger.debug() does not get logged in JBoss 6

Context: JBoss Application Server 6

I am relying on slf4j-jboss-logmanager.jar to bind slf4j to the JBoss log manager.

All logger.info() output is correctly logged.

However, logger.debug() output never appears in the log stream.

Even though jboss-logging.xml has set the level to DEBUG for the CONSOLE logger...

   <console-handler name="CONSOLE" autoflush="true" target="System.out">
      ...
      <level name="DEBUG"/>
      ...
   </cons开发者_StackOverflowole-handler>

Does anybody see why my debug details never reach the log stream?


As from JBoss 6, the log manager and jboss-logging.xml are proprietary.

The key is in the root-logger definition at the end of the config file:

The default defintion caps all output to whatever hander at INFO level:

   <root-logger>
      <level name="${jboss.server.log.threshold:INFO}"/>
      <handlers>
         <handler-ref name="CONSOLE"/>
         <handler-ref name="ERROR"/>
         <handler-ref name="FILE"/>
      </handlers>
   </root-logger>

Changing this to

   <root-logger>
      <level name="${jboss.server.log.threshold:DEBUG}"/>
      <handlers>

opens the gate for all possible DEBUG information.

Probably too much DEBUG information. Therefore, I had to add some additional filters:

   <logger category="org.jboss">
      <level name="INFO"/>
   </logger>

   <logger category="org.hibernate">
      <level name="INFO"/>
   </logger>

   <logger category="javax">
      <level name="INFO"/>
   </logger>

   <logger category="idealconnector">
      <level name="INFO"/>
   </logger>

   <logger category="httpclient">
      <level name="INFO"/>
   </logger>

   <logger category="my.package">
      <level name="DEBUG"/>
   </logger>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜