繁体   English   中英

Jboss日志包装我的log4j消息

[英]Jboss logging wrapping my log4j messages

我在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正在写入stdout,JBoss STDIO将其作为INFO消息输出到JBoss Log Manager。

除非您的appender始终写入stdout,否则计划每个部署日志记录可以解决此问题。

所以你最好的解决方案是查看你正在使用的appender,看看它在哪里写。 如果它正在写入stdout,它总是会出现。

我猜你的记录器以某种方式连接到System.out和/或System.err ,并且某人(可能是JBoss,可能是其他一些EAR / WAR / ...)安装了一个自定义的OutputStream ,它将打印到它的所有内容包装到另一个记录器中信息。 也许缺少的“[...]”部分表明已经使用了根记录器。

您可以通过直接打印到bot流并通过获取根记录器并将一些INFO推入其中来测试这一点。

另一个猜测是, 你的 log4j jars在某种程度上与JBoss / Hibernate传播的slf4j冲突相冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM