2014-12-10 2 views
0

나는 pom.xml 파일에 다음 라인 Log4j를 사용하기 위해, 스프링 부팅 구성 :log4j로 봄 부팅 로깅 - 어떻게 봄 부팅 로그 항목을 사용 가능하게합니까?

나는 그런 내 log4j.xml을 구성하여 콘솔에 디버그 수준에서 로깅에서 봄 중지
<!-- use log4j instead of logback (spring boots own logging) --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-log4j</artifactId> 
    </dependency> 

:

<root> 
    <priority value="ERROR" /> 
    <appender-ref ref="consoleAppender" /> 
</root> 

을 제 질문은 봄 부팅에서 로그 메시지를보기 위해 log4j.xml에 무엇을 넣어야합니까?

<category name="org.springframework.web"> 
    <level value="trace" /> 
</category> 

올바른 경로 또는 스프링 부팅의 log4j를 사용하여 다시 로그인 할 때 얻을 수있는 올바른 방법은 무엇입니까 :이 예를 들어 (추가의 log4j.xml하기)를 작동하지 않는?

+1

같이해야합니까? 로그백은 훌륭합니다! :) 당신이 선택한 것은 Slf4j도 사용하십시오! – Gevorg

답변

1

나는 <logger>이 아닌 <category>이라고 생각합니다. Spring Boot를 사용하면 application.properties에서 로그 수준을 구성 할 수 있으므로이를 기억하지 않아도됩니다.

+0

그래서 spring 부트는 classpath에있는'application.properties' 파일을 자동으로 스캔하고 파일 내에서 지시어를 찾으면 로그 레벨을 설정합니까? Junit 환경에서도? – atripes

+1

물론 'SpringApplication'을 사용하는 경우에만 작동합니다 (예 :'@ SpringApplicationConfiguration'의 단위 테스트). –

1

표준 스프링 출력을 원한다면 오류 수준을 정보 수준으로 설정해야합니다. Log4J를 퀵 스타트 사이트 https://logging.apache.org/log4j/1.2/manual.html

이 규칙에서

는 log4j에의 핵심입니다. 레벨이 인 것으로 가정합니다. 표준 수준을 위해, 우리는 DEBUG < 정보 <이 WARN이 < ERROR < FATAL

그래서 루트 아마 logback 뭐가 잘못이

<root> 
    <level value="Info" /> 
    <appender-ref ref="console" /> 
</root>