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

如何使用Jboss AS 7.1启用自定义log4j,jboss,log4j,jboss7.x,Jboss,Log4j,Jboss7.x,我试过几种选择。但对我来说什么都不管用。 之前,我在Tomcat 6,7中使用了相同的log4j.xml(简单公共配置),我可以通过更新log4j.xml来控制根日志记录和应用程序日志记录。 当我使用JBoss 7.1部署同一个项目时,它只提供信息级别的日志记录,而我的log4j.xml根本不起作用。有时候,可以通过更新JBoss服务器内的一些配置文件来解决这个问题,但是我想知道是否有一种可移植的方法或者类似的方法。如果这是JBossAS7.1的bug或其他问题,我想知道一个快速修复方法。 我以

我试过几种选择。但对我来说什么都不管用。 之前,我在Tomcat 6,7中使用了相同的log4j.xml(简单公共配置),我可以通过更新log4j.xml来控制根日志记录和应用程序日志记录。 当我使用JBoss 7.1部署同一个项目时,它只提供信息级别的日志记录,而我的log4j.xml根本不起作用。有时候,可以通过更新JBoss服务器内的一些配置文件来解决这个问题,但是我想知道是否有一种可移植的方法或者类似的方法。如果这是JBossAS7.1的bug或其他问题,我想知道一个快速修复方法。 我以前从未使用过JBoss


谢谢

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

排除log4j.jar的jboss-deployment-structure.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>


是否只想使用log4j.xml文件为部署配置日志记录?是的,我想使用单独的log4j.xml文件,而不是使用jboss的配置。我试过了,但它总是显示INFO和Syste.out作为INFO[stdout]。谢谢。。。子模块(lib/jar)也必须排除它吗?如果有几十个呢?