我在 JBoss 7.1.0CR1b 下的 Log4J 遇到了一个奇怪的问题(我们现在只是移植到 JBoss,不知道旧版本是否会发生这种情况)。我的 EAR 中的日志行都包含在 INFO 级别中。因此,例如,我的日志行如下所示:
13:09:14,684 INFO ERROR CRK TEST!
实际的日志行使用的是 log4j Logger.error( "CRK TEST!")。额外的“INFO”到底是从哪里来的?我的猜测是记录器消息被 JBoss 的记录器以某种方式包装,因为纯 JBoss 容器消息不会发生这种情况,例如:
13:08:07,177 INFO [org.jboss.msc] JBoss MSC version 1.0.1.GA
我摆弄过各种 log4j 设置并尝试遍历调试器,但对发生这种情况的原因一无所知。有什么想法吗?
最佳答案
我认为 log4j 正在写入标准输出,JBoss STDIO 将其作为 INFO 消息输出到 JBoss 日志管理器。
有一个计划可以解决这个问题,除非你的 appender 总是写入 stdout。
因此,您最好的解决方案是查看您正在使用的 appender,看看它在哪里写入。如果它正在写入 stdout,它将始终显示为那样。
关于java - Jboss 日志记录包装我的 log4j 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284398/