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

标签 jboss log4j jboss7.x

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

谢谢!

最佳答案

我遇到了这个问题并通过以下方法解决了:
使用您自己的 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>

关于jboss - 如何使用 Jboss AS 7.1 启用自定义 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136035/

相关文章:

java - 方法 getLogger() 不再是 log4j2 中 Logger 的成员?

java - 每次初始化 log4j 时将当前时间附加到新的日志文件

java - 用于公共(public)日志记录的 isInfoEnabled ()

java - 无法使用 JBOSS EAP 7 将 EAR 文件部署到 Azure 应用服务

eclipse - 无法在eclipse中启动jboss服务器

java - JBoss 上未生成线程转储

java - JVM 中的段错误导致堆栈溢出,但仅限于 VMWare

grails - Grails 3.1.6部署到JBoss是404

java - JBOSS 5.1 可以在 JDK 1.4 中运行吗?

JBoss AS 7 错误 : WAR deployment succeeds, EAR 部署失败