0

@ControllerAdivceEclipse Tomcat サーバーを使用して正常に動作するアノテーションで注釈を付けた ExcpetionHandler クラスを作成しました。

プロジェクトをビルドして一部の UNIX マシンの tomcat にデプロイしているときに、exceptionHandler がトリガーされません。

UNIXマシンでのみいくつかのlog4j警告が生成されることに気付きました。

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:WARN ロガー (org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver) のアペンダーが見つかりませんでした。log4j:WARN log4j システムを適切に初期化してください。log4j:WARN 詳細については、http: //logging.apache.org/log4j/1.2/faq.html#noconfigを参照してください。

4

2 に答える 2

1

ご質問の内容は、次のリンクで確認できます。log4jを設定する前にロガーインスタンスを使用しているようです

ロガー (log4j) のアペンダーが見つかりませんでしたか?

于 2016-06-29T13:57:04.263 に答える
0

問題は、Spring パッケージの log4j アペンダーが欠落していたことです。

<logger name="org.springframework.web">
  <level value="debug"/>
  <appender-ref ref="CONSOLE"/>
</logger>
于 2016-06-29T14:08:10.647 に答える