2016-06-29 73 views
0

我創建了ExcludeHandler類,其中註解了@ControllerAdivce註釋,它使用eclipse tomcat服務器可以正常工作。春季異常處理程序日誌記錄不工作

當我構建項目並將其部署到某個unix機器上的tomcat時,exceptionHandler沒有被觸發。

我注意到一些log4j警告只能在unix機器上生成。

配置了log4j xml,並且所有appender都在工作。

只有在添加下面的類後,我纔開始獲取下面的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); 
    } 

} 

的log4j:警告沒有附加目的地可以爲記錄器(org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver)中找到。 log4j:WARN請正確初始化log4j系統。 log4j:警告有關更多信息,請參見http://logging.apache.org/log4j/1.2/faq.html#noconfig

+0

貌似的log4j.xml是不是在你的應用程序的classpath – Jens

+0

是,如果不是所有其他的appender不應該工作的很好,但他們的工作。 –

+0

該文件位於何處,其內容是什麼? – Jens

回答

0

問題是缺少對彈簧組件的Log4j Appender之前。

<logger name="org.springframework.web"> 
    <level value="debug"/> 
    <appender-ref ref="CONSOLE"/> 
</logger> 
相關問題