私は、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を参照してください。
のlog4j.xmlがない他のすべてのアペンダも同様に動作しないはずですが、彼らが作業している場合、それは、あるアプリケーション – Jens
のクラスパスにはないように見えます。 –
ファイルの場所と内容は何ですか? – Jens