如何使用Jboss AS 7.1启用自定义log4j

sur*_*a2k 5 jboss log4j jboss7.x

我尝试了几种选择.但是任何事都不适合我.以前我使用与Tomcat 6,7相同的log4j.xml(简单公共配置),我可以通过更新log4j.xml来控制根日志记录和应用程序日志记录.当我使用JBoss AS 7.1部署相同的项目时,它只给我INFO级别的日志记录,而我的log4j.xml根本不起作用.有时可以通过更新JBoss服务器中的一些配置文件来解决这个问题,但我想知道是否有可行的方法来实现它或类似的东西.如果这是bug或JBoss AS 7.1的东西,我想知道一个快速修复.我之前没有和JBoss合作过.

谢谢!

hyd*_*yda 3

我遇到了这个问题并通过以下方法解决了它:
使用您自己的 log4j jar 而不是 jboss 提供的 jar。通过从应用程序中排除 jboss org.apache.log4j jar 模块(将其排除在 jboss-deployment-struct.xml 中)并在 .ear 包的 lib 文件夹中添加您自己的 log4j jar 文件来完成此操作。现在将 log4j.xml 放入模块的根文件夹中。
通过这种方法,您可以完全控制 log4j(就像独立应用程序一样)。
如果您需要更多帮助,请告诉我。

用于排除 log4j.jar 的示例 jboss-deployment-struct.xml:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
    <exclusions>
        <module name="org.apache.log4j" slot="main"/>
    </exclusions>
</deployment>

 <sub-deployment name="MyEjb.jar">
    <exclusions>
        <module name="org.apache.log4j"/>
    </exclusions>
</sub-deployment>
Run Code Online (Sandbox Code Playgroud)