JBoss 7:相当于jboss-log4j.xml

s.f*_*ich 3 logging slf4j jboss7.x

我不想使用standalone.xml或CLI配置日志记录,因为它需要为同事提供额外的步骤才能获得可用的开发环境.我希望使用我们的源代码签入这些配置文件,并在部署时自动应用.

使用JBoss 5,可以在jboss-log4j.xml中声明日志记录.JBoss 7中是否还有这个文件的等价物?

我们想使用slf4j和logback.

jyo*_*ore 6

如果您想使用自己的日志记录而不是JBoss日志记录,则需要针对您自己的日志记录中的每个应用程序执行几个步骤:

排除JBoss日志记录

编写一个jboss-deployment-structure.xml文件,以排除jboss log4j或slf4j或JBoss中包含的任何其他日志记录模块.

WAR ... WEB/INF /中WAR的示例

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)

包括你自己的罐子

只需将自己的jar放在lib文件夹中

对于WAR,请放在WAR/WEB-INF/lib中

包括您的日志配置

只需像平常一样包含您自己的配置文件

对于WAR,请放在WAR/WEB-INF/classes中

用-D标志启动JBoss

运行您的服务器使用:

$ ./standalone.sh -Dorg.jboss.as.logging.per-deployment=false
Run Code Online (Sandbox Code Playgroud)

EAR的示例

Place jboss-deployment-structure.xml in EAR/META-INF

<jboss-deployment-structure>
    <sub-deployment name="myWar.war>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
    <sub-deployment name="myWar2.war>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
    <sub-deployment name="myEjb.jar>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)

EAR/lib,包括您的JARS

在每个部署中,添加该configuration/properties部署

启动服务器: $./standalone.sh -Dorg.jboss.as.logging.per-deployment=false

这本应该用你自己的JBAR版本替换JAR,因此允许你自己的JAR和配置文件被选中.如果您有任何疑问,请告诉我.