【问题标题】:JBoss AS 7.1.1 Final and Log4jJBoss AS 7.1.1 Final 和 Log4j
【发布时间】:2013-10-31 03:22:56
【问题描述】:

我知道以前有人问过这个问题,但是任何问题的答案都没有解决我的问题。 我有一个打包为 .WAR 文件的应用程序,可以在 JBoss 4.2.0 GA 上完美运行:该应用程序成功加载了我的 log4j.xml 设置。我的 log4j.xml 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <!-- Appenders -->
  <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/root/OnlineApp/logs/info.log" />
    <param name="MaxFileSize" value="10MB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss.SSS},%X{deviceId},%p,%m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="INFO" />
      <param name="LevelMax" value="WARN" />
    </filter>
  </appender>
  <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/root/OnlineApp/logs/debug.log" />
    <param name="MaxFileSize" value="10MB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss:SSS.SSS},%X{deviceId},%p,%m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="TRACE" />
      <param name="LevelMax" value="DEBUG" />
    </filter>
  </appender>
  <appender name="ERRORS" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/root/OnlineApp/logs/error.log" />
    <param name="MaxFileSize" value="10MB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss.SSS},%X{deviceId},%p,%m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
      <param name="LevelMin" value="WARN" />
      <param name="LevelMax" value="FATAL" />
    </filter>
  </appender>    
  <appender name="DATABASE" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/root/OnlineApp/logs/db.log" />
    <param name="MaxFileSize" value="10MB"/>
    <param name="MaxBackupIndex" value="10"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss.SSS},%X{deviceId},%p,%m%n" />
    </layout>
  </appender>
  <!-- Loggers -->
  <logger name="OnlineApp" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="INFO"/>
    <appender-ref ref="ERRORS"/>
    <appender-ref ref="DEBUG"/>
  </logger>
  <logger name="DatabaseLogger" additivity="false">
  <level value="DEBUG" />
  <appender-ref ref="DATABASE"/>
  </logger>

</log4j:configuration>

现在,我正在尝试将同一个应用程序与同一个 log4j.xml 文件与 JBoss AS 7.1.1 Final 一起使用。发生的事情是 JBoss ONLY 记录到标准输出,而不是记录到我定义的附加程序。

阅读了一些问题,有人告诉我在 META-INF 下创建一个 jboss-deployment-structure.xml 文件。所以我用以下配置创建了一个:

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

但这并没有帮助解决我的问题,因为我仍然没有在我的自定义附加程序中看到任何日志。

P.S:在我的 WEB-INF/lib 文件夹中,我确保放置了一个 log4j-1.2.16.jar 文件。

非常感谢任何帮助。

【问题讨论】:

    标签: java logging log4j jboss7.x war


    【解决方案1】:

    我终于让它工作了。在您的 META-INF 文件夹下,创建一个名为 jboss-deployment-structure.xml 的新文件,并确保在其中包含以下内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
        <deployment>
            <exclusions>
                <module name="org.apache.commons.logging" />
                <module name="org.apache.log4j" />
                <module name="org.jboss.logging" />
                <module name="org.jboss.logging.jul-to-slf4j-stub" />
                <module name="org.jboss.logmanager" />
                <module name="org.jboss.logmanager.log4j" />
                <module name="org.slf4j" />
                <module name="org.slf4j.impl" />
            </exclusions>
        </deployment>
    </jboss-deployment-structure>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2013-01-20
      相关资源
      最近更新 更多