上下文:JBoss 应用服务器 6
我依靠 slf4j-jboss-logmanager.jar
将 slf4j 绑定(bind)到 JBoss 日志管理器。
所有 logger.info()
输出都被正确记录。
但是,logger.debug()
输出从未出现在日志流中。
即使 jboss-logging.xml 已将 CONSOLE 记录器的级别设置为 DEBUG
...
<console-handler name="CONSOLE" autoflush="true" target="System.out">
...
<level name="DEBUG"/>
...
</console-handler>
有人知道为什么我的调试详细信息从未到达日志流吗?
最佳答案
从 JBoss 6 开始,日志管理器和 jboss-logging.xml 是专有的。
关键在配置文件末尾的根记录器定义中:
默认定义将所有输出限制在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>
关于java - SLF4J logger.debug() 未登录 JBoss 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419394/