Web アプリで発生する例外を処理するサーブレットを作成し、それらを web.xml にマップしました
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/exceptionHandler</location>
</error-page>
例外処理サーブレットservice
メソッドで行ったことは次のとおりです。
@Override
protected void service(HttpServletRequest req, HttpServletResponse arg1)
throws ServletException, IOException {
Object attribute = req.getAttribute("javax.servlet.error.exception");
if(attribute instanceof SocketException){
// don't do anything
}else{
super.service(req, arg1);
}
}.
問題:
上記のアプローチは機能せず、スタック トレースがコンソールに出力されます。これは、ユーザーが何かを要求してブラウザを閉じたときに発生します。
質問:
エラーが発生するたびに JBoss コンソールへのスタックトレースの出力を停止するにはどうすればよいSocketException
ですか?
これを行う理由:
SocketException
その情報では何もできないので、一日の終わりにすべてのログを見るのは避けたいです。