【问题标题】:How to enable a custom log4j with Jboss AS 7.1如何使用 Jboss AS 7.1 启用自定义 log4j
【发布时间】:2013-06-16 17:44:55
【问题描述】:

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

谢谢!

【问题讨论】:

  • 您是否只想使用 log4j.xml 文件为您的部署配置日志记录?
  • 是的,我想使用单独的 log4j.xml 文件而不是使用 jboss 的配置。我试过了,但总是将 INFO 和 Syste.out 显示为 INFO [stdout]。

标签: jboss log4j jboss7.x


【解决方案1】:

我遇到了这个问题,通过以下方法解决了:
使用您自己的 log4j jar 而不是 jboss 提供的。通过从您的应用程序中排除 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>

【讨论】:

  • 谢谢...是否也必须为子模块(lib/jars)排除它?如果有几十个呢?
猜你喜欢
  • 2013-03-09
  • 2015-09-11
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多