2013-10-22 4 views
2

이전에이 질문을 받았지만 질문에 대한 답 중 아무 것도 내 문제를 해결하지 못했습니다. JBoss 4.2.0에서 완벽하게 작동하는 .WAR 파일로 패키지 된 응용 프로그램이 있습니다. GA : 응용 프로그램이 log4j.xml 설정을 성공적으로로드합니다. 다음과 같이 내 log4j.xml 파일은 같습니다JBoss AS 7.1.1 Final 및 Log4j

<?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> 

을 지금, 7.1.1 최종 AS 보스와 같은 log4j.xml 파일로이 같은 응용 프로그램을 사용하려고 해요. JBoss가 정의 된 애펜더에 로깅하지 않고 표준 출력에 로그온하는 경우 입니다.

몇 가지 질문을 읽으면서 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 파일을 저장해야합니다.

도움을 주시면 감사하겠습니다.

답변

2

나는 마침내 작동하게 만들었습니다. 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> 
관련 문제