2016-06-17 3 views
1

저는 간단한 maven 프로젝트를 가지고 있으며 log4j 구현을 시도하고 있습니다.Maven 프로젝트 log4j가 작동하지 않습니다.

로컬 tomcat에 배치. 내가 logger.debug()를 가지고있는 Eclipse의 콘솔에 아무것도 인쇄하지 않는다.

이 나는 ​​뭔가를 놓치고 있습니까?

내 구조 : enter image description here

의 pom.xml :

<!-- http://mvnrepository.com/artifact/log4j/log4j --> 
<dependency> 
<groupId>log4j</groupId> 
<artifactId>log4j</artifactId> 
<version>1.2.17</version> 
</dependency> 

등급 :

final static Logger logger = Logger.getLogger(myclass.class); 

.properties 파일은 파일

# Root logger option 
log4j.rootLogger=INFO, stdout 
log4j.rootLogger=DEBUG, stdout 
log4j.rootLogger=ERROR, stdout 
# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 
+0

왜 여러 rootLogger 속성이 정의되어 있습니까? 내 생각 엔 rootLogger를 ERROR 수준으로 설정하는 마지막 것이 이전 두 설정을 무시하고 있다는 것입니다. 중간에 DEBUG 행만 있어야합니다. – rmlan

+0

만약 내가 그걸 원한다면? –

+0

설명에 대한 내 대답을 참조하십시오 – rmlan

답변

1

가 단순히 불필요한 제거 rootLogger 선언 :

# Root logger option 
log4j.rootLogger=DEBUG, stdout 
# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 

로깅 수준에는 "위"수준이 포함됩니다. 예를 들어, 로깅 레벨을 DEBUG로 설정하면 DEBUG, INFO, WARN, ERROR 및 FATAL 메시지가 자동으로 포함됩니다. 각각에 대해 로깅 수준을 선언 할 필요는 없습니다.

+0

ahhhhhh ... 나중에있어 –

+0

고마워 내 친구 ..... 지금 일하고 –

관련 문제