我正在尝试禁用wildfly记录器并使用SLF4J + LogBack实现,但我无法得到它。
当我创建SLF4J记录器时,wildfly会给我这个对象:org.jboss.logmanager.LogContex。
我想获得一个LogBack记录器实例,而不是wildfly为我提供的默认实例。
我已经尝试禁用wildfly日志记录子系统(jboss-deployment-structure.xml),但似乎没有任何改变:
<jboss-deployment-structure>
<deployment>
<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>
</jboss-deployment-structure>
我也试过这个:
<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<deployment>
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</deployment>
<sub-deployment name="projectname-web.war">
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</sub-deployment>
<sub-deployment name="projectname-ejb.jar">
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</sub-deployment>
</jboss-deployment-structure>
还有:
<subsystem xmlns="urn:jboss:domain:logging:2.0">
<add-logging-api-dependencies value="false"/>
</subsystem>
以下两张图片包含了这些记录器之间的差异:
如您所见,记录器实例是一个jboss记录器而不是LogBack。
下图显示了wildfly环境之外的正确记录器:
似乎没什么用。 我怎么能改变这种行为?
感谢。