2016-06-29 12 views
0

私は、Eclipse Tomcatサーバーを使用してうまく動作している@ControllerAdivce注釈で注釈付けされたExcpetionHandlerクラスを作成しました。Spring ExceptionHandlerロギングが動作しない

プロジェクトをビルドして、それをunixマシンのTomcatにデプロイしているときに、例外ハンドラがトリガされません。

私は、log4j警告がUNIXマシンでのみ生成されることに気付きました。

log4j xmlが設定され、すべてのアペンダーが動作しています。

以下のクラスを追加した後で、私は以下の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)いいえアペンダをロガーのために見つかりませんでしたWARN。 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> 
関連する問題