2012-12-09 4 views
2

이유는 무엇입니까 log4j에 인쇄 :, 스레드 이름

17:58:30,623 INFO [stdout] (http--127.0.0.1-8080-5) 

전체 메시지는 : 나는 보스의 AS7를 사용하고 내가 같은 log4j를 제외이

17:58:30,623 INFO [stdout] (http--127.0.0.1-8080-5) 2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message 

:

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

그리고 내 log4j.properties은 다음과 같습니다

,
log4j.rootLogger=INFO, CA 

log4j.appender.CA=org.apache.log4j.ConsoleAppender 

log4j.appender.CA.layout=org.apache.log4j.PatternLayout 
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n 

내가 같은 메시지를 인쇄하려면 :

2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message 

내가 어떻게 할 수 있습니까?

답변

4

JBoss STDIO가 stdout과 stderr를 래핑하고 log4j ConsoleAppender이 stdout으로 출력하기 때문입니다.

log4j.properties 파일을 사용하는 대신 로깅 하위 시스템을 구성하여 동일한 작업을 수행 할 수 있습니다. 로깅 하위 시스템을 사용하면 jboss-deployment-structure.xml의 종속성을 제외 할 이유가 없습니다.

<subsystem xmlns="urn:jboss:domain:logging:1.1"> 

    <console-handler name="CONSOLE"> 
     <level name="INFO"/> 
     <formatter> 
      <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n"/> 
     </formatter> 
    </console-handler> 

    <!-- other handlers and loggers --> 

    <root-logger> 
     <level name="INFO"/> 
     <handlers> 
      <handler name="CONSOLE"/> 
     </handlers> 
    </root-logger> 
</subsystem>