2016-06-29 5 views
0

이클립스 톰캣 서버를 사용하여 잘 작동하는 @ControllerAdivce 주석으로 주석 처리 된 ExcpetionHandler 클래스를 만들었습니다.Spring ExceptionHandler 로깅이 작동하지 않습니다.

프로젝트를 빌드하고 일부 유닉스 시스템의 Tomcat에 배포하는 동안 exceptionHandler가 트리거되지 않습니다.

유닉스 시스템에서만 log4j 경고가 발생하는 것으로 나타났습니다.

log4j xml이 구성되었으며 모든 애펜더가 작동합니다.

아래의 클래스를 추가 한 후에 만 ​​아래의 log4j 메시지를 받기 시작합니다.

아이디어가 있으십니까? log4j에

@ControllerAdvice 
public class ExceptionController { 

    @ExceptionHandler(RuntimeException.class) 
    public ResponseEntity<ClientErrorMessage> handleRunTimeException(HttpServletRequest request, RuntimeException exception) { 
     ClientErrorMessage message = SOME_MESSAGE 
     return new ResponseEntity<>(message, HttpStatus.INTERNAL_SERVER_ERROR); 
    } 

} 

는 : 없음 펜더가 로거 (org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver)를 찾을 수 없습니다 경고한다. log4j : WARN log4j 시스템을 올바르게 초기화하십시오. log4j : WARN 자세한 내용은 http://logging.apache.org/log4j/1.2/faq.html#noconfig을 참조하십시오.

+0

은의 log4j.xml 응용 프로그램의 클래스 경로에없는 것 같은데 – Jens

+0

모든 다른 펜더가 잘 작동하지 않아야하지만 그들이 작업하는 경우가있다. –

+0

파일의 위치 및 내용은 무엇입니까? – Jens

답변

0

를 구성하기 전에 당신이 로거 인스턴스를 사용하고있는 것으로 보인다.

<logger name="org.springframework.web"> 
    <level value="debug"/> 
    <appender-ref ref="CONSOLE"/> 
</logger> 
관련 문제