Java JBoss AS 7.1.1最终版和Log4j
我知道以前有人问过这个问题,但这些问题的答案都没有解决我的问题。 我有一个打包为.WAR文件的应用程序,它在JBoss 4.2.0 GA上运行得非常好:该应用程序成功地加载了我的log4j.xml设置。我的log4j.xml文件如下所示:Java JBoss AS 7.1.1最终版和Log4j,java,logging,log4j,jboss7.x,war,Java,Logging,Log4j,Jboss7.x,War,我知道以前有人问过这个问题,但这些问题的答案都没有解决我的问题。 我有一个打包为.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 xmln
<?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>
现在,我正试图使用与JBoss 7.1.1 Final相同的log4j.xml文件使用相同的应用程序。现在的情况是JBoss只记录到标准输出,而不是记录到我定义的appender
在阅读一些相关问题时,我被告知在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>
然而,这并没有帮助解决我的问题,因为我仍然没有在我的自定义附加器中看到任何日志
注意:在我的WEB-INF/lib文件夹中,我确保放置了一个log4j-1.2.16.jar文件
非常感谢您的帮助。我终于让它工作了。在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>