从Logging中排除Jboss Slf4j实现

时间:2016-06-20 16:04:47

标签: logging deployment slf4j wildfly-9

在我的Web应用程序中,我开发了基于slf4j和log4j2的自定义日志记录框架。

该应用程序已部署在Jobss WildFly 9上。问题是Wildfly继续使用它的

<module xmlns="urn:jboss:module:1.3" name="org.slf4j.impl">

每次我想记录而不是我的框架。

这是Web应用程序树:

webApplication
|
|_ WEB-INF
      |_jboss-deployment-structure.xml

我尝试以这种方式编写部署描述符:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="logging" />
        </exclude-subsystems>
        <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>

这些是框架带来的依赖:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-web</artifactId>
        <version>2.6</version>
    </dependency>

但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

我意识到在web应用程序清单中插入了一个依赖项,指向org.slf4j jboss模块