语境: JBoss应用服务器6
我依靠 slf4j-jboss-logmanager.jar 将slf4j绑定到JBoss日志管理器。
所有 logger.info() 输出是 正确记录。
然而, logger.debug() 产量 永远不会出现 在日志流中。
即使jboss-logging.xml已将级别设置为 DEBUG 对于CONSOLE记录器......
<console-handler name="CONSOLE" autoflush="true" target="System.out">
...
<level name="DEBUG"/>
...
</console-handler>
有人知道为什么我的调试细节永远不会到达日志流吗?
从JBoss 6开始,日志管理器和jboss-logging.xml是专有的。
关键是在配置文件末尾的root-logger定义中:
默认定义上限 所有输出到任何一个人 在 INFO 水平:
<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>
将此更改为
<root-logger>
<level name="${jboss.server.log.threshold:DEBUG}"/>
<handlers>
打开所有可能的DEBUG信息的大门。
可能是DEBUG信息过多。因此,我不得不添加一些额外的过滤器:
<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>
从JBoss 6开始,日志管理器和jboss-logging.xml是专有的。
关键是在配置文件末尾的root-logger定义中:
默认定义上限 所有输出到任何一个人 在 INFO 水平:
<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>
将此更改为
<root-logger>
<level name="${jboss.server.log.threshold:DEBUG}"/>
<handlers>
打开所有可能的DEBUG信息的大门。
可能是DEBUG信息过多。因此,我不得不添加一些额外的过滤器:
<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>