1

我试图从 JBoss 6 EAP 中的 jboss-deployment-structure.xml 中排除所有日志记录模块。

我的 jboss-deployment-structure.xml 是:

<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <module name="org.apache.log4j" />
      <module name="org.jboss.logging" />
      <module name="org.jboss.logmanager" />
      <module name="org.jboss.log4j.logmanager" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>

因此,在使用上述配置部署我的 .war 后,我得到:

[ModuleClassLoader for Module "org.jboss.log4j.logmanager:main" from local module loader @10ab323 (roots: /home/me/dev/jboss-eap-6.0/modules)] whereas object of type "org.apache.log4j.ConsoleAppender" was loaded by [ModuleClassLoader for Module "deployment.myapp.war:main" from Service Module Loader].

所以我通常想让 JBoss 停止尝试加载 log4j 并让我的应用程序加载它。

是否可以禁用 logmanager 模块?

谢谢,

4

1 回答 1

1

我能够使用这个 jboss-deployment-structure.xml 解决这个问题

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
    <exclusions>
        <module name="org.apache.log4j"/>
        <module name="org.apache.commons.logging"/>
    </exclusions>
</deployment>

我在 WEB-INF 下创建的。您还应该将 log4j.jar 放在 WEB-INF/lib 中。

于 2013-11-12T08:00:29.127 回答