【问题标题】:Log4j doesn't log anything under JBoss 6 EAPLog4j 在 JBoss 6 EAP 下不记录任何内容
【发布时间】:2012-09-22 03:12:04
【问题描述】:

我看到了几个关于该主题的问题,但由于它们与错误相关,我不认为这是重复的。

我的问题是我无法从部署在 JBoss 6 EAP 上的 .war 中注销,但是也没有记录任何错误。在JBoss的/log文件夹下还有一个名为my .war的文件,但也是空的。

.war 部署良好且工作正常。由于我使用的是 Spring,我什至看不到它初始化它的上下文。

在具有相同 .war 的 Tomcat 7 下,日志可以完美运行。

我创建了一个 log4j.xml 并将其放在我的 WEB-INF/classes 目录中(我也在 /WEB-INF 中尝试过):

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
  </appender> 

  <root> 
    <priority value ="info" /> 
    <appender-ref ref="console" /> 
  </root>

</log4j:configuration>

我正在使用 log4j 1.2.17、Spring 3.1 和 JBoss 6 EAP。

非常感谢任何帮助, 谢谢

【问题讨论】:

标签: java log4j jboss-eap-6


【解决方案1】:

与 JBoss AS 7.1.1 不同,如果 JBoss EAP 6 找到 a logging config file: https://community.jboss.org/message/776182#776182,则 JBoss EAP 6 会激活每个部署的日志记录配置

我建议删除log4j.xml。如果这没有帮助,请修改您的 jboss 配置,将系统属性 org.jboss.as.logging.per-deployment 设置为 false。就我而言,我必须将此行添加到standalone.conf

JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false"

【讨论】:

  • 它会关闭应用程序中定义的配置,所以这是一种解决方法,但不是解决方案,对吧?
  • 为我工作! JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false"
  • 如果你删除 log4j.xml 你从哪里得到你自己的配置?
  • @Tom 配置位于 EAP 的 standalone.xml 的日志记录部分,因此您需要在那里自定义日志配置。
  • 我已经设法使用了一个 log4j2.xml 配置文件。现在它工作正常,我不得不将文件放入 subProject/properties/... 这样我就可以将常规服务器日志记录和我的特定应用程序记录在一个单独的文件中。
【解决方案2】:

在我的情况下,EAP 6.0 在域模式下,我必须将 org.jboss.as.logging.per-deployment = false 设置为特定服务器的环境属性。将其设置为 EAP 6.3 文档中所述的“系统属性”不起作用。

【讨论】:

    猜你喜欢
    • 2012-07-01
    • 2014-12-25
    • 1970-01-01
    • 2014-02-11
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    相关资源
    最近更新 更多