我正在开发 JBoss EAP 7。我使用自己的 log4j2 而不是 Jboss 日志记录。所以我将它们排除在 Jboss-deployment-structure.xml 文件中。
<deployment>
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
<!--
Prevent that the server add automatically dependencies -->
<!-- Exclude all logging dependencies so we can use log4j2 -->
<exclusions>
<module name="org.apache.commons.logging" />
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
<module name="org.jboss.logging.jul-to-slf4j-stub" />
<module name="org.jboss.logmanager" />
<module name="org.jboss.logmanager.log4j" />
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
</exclusions>
</deployment>
在我的 log4j2.xml 文件中,我提到了模式布局,如下所示。
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%p|%d|%c|%m|%n" />
</Console>
但是,当我最初启动应用程序时,会加载一个类,其中的日志可以正确打印,如下所示。
DEBUG|2017-08-08 13:20:26,993|Default.com.test.StartClass|deleting directory: C:\eclipse\workspace\WEB-INF\templates
但后来当 Jboss 服务器开始加载其子系统时,它正在添加标准输出并在我的实际模式前面添加一些其他内容。
13:39:06,997 INFO [stdout] (ServerService Thread Pool -- 87) INFO|2017-08-08 13:39:06,997|Default.com.test.AppXmlUnmarshaller|Unmarshalling took 342 milliseconds.
我不明白为什么在排除子系统后它也采用了这种模式布局。请帮助我如何解决这个问题。
提前致谢。