Logback不能与JBoss EAP 6.1一起使用

N..*_*N.. 5 jboss logback maven

我有一个maven web应用程序,我在其中使用logback和JBoss EAP 6.1作为服务器.问题是当我在服务器上部署它时,我的logback.xml被忽略,并且使用了logback的默认配置,它在控制台而不是我的日志文件上打印.如果我在tomcat上部署我的应用程序,日志工作正常.

我把logback.xml放在src/main/resources中.

发现类似的问题 - Logback + SL4J + JBoss EAP 6.0Logback和Jboss 7中的日志配置- 不能一起工作? 但是没有用......

N..*_*N.. 7

忘了早点分享解决方案......它是 -

我们需要在jboss-deployment-structure.xml中添加以下行

<exclusions>
            <module name="org.apache.commons.logging" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
</exclusions>
Run Code Online (Sandbox Code Playgroud)

所以整个文件看起来像 -

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <!-- Exclusions allow you to prevent the server from automatically adding 
            some dependencies -->
        <exclusions>
            <module name="org.apache.commons.logging" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
        </exclusions>

    </deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)

如果您有maven项目,可以将此文件放在 -

<project>/webapp/META-INF/jboss-deployment-structure.xml
Run Code Online (Sandbox Code Playgroud)

现在日志记录工作正常.