これに関するさまざまな記事/スレッドを読みましたが、JSPでApacheCommonsロギングを実行するための最良の方法をまだ決定していません。
コンテキストを提供するために、元々Spring 2を使用して開発されたアプリケーションに改善されたエラーロジックを追加しています。これで、Spring2とSpring3を使用して作成されたコントローラーができました。
したがって、コントローラーレベルでSpring MVC 3の例外処理を使用するのではなく、すべてのコントローラーのすべての伝播された例外をログに記録するJSPをweb.xmlで構成するのが最善だと思います。
驚いたことに、タグライブラリを使用してJSP内でロギングを実行する簡単な方法がわかりません。Apache Commonsには、ロギング用の廃止されたタグライブラリがあるようですが、これは、Apache Commons Logging自体ではなく、log4jに基づいています。
したがって、代わりに、JSP内でプログラムによって次のことを実行しています。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="org.apache.commons.logging.Log" %>
<%@ page import="org.apache.commons.logging.LogFactory" %>
<%@ page isErrorPage="true" %>
<% Log logger = LogFactory.getLog(this.getClass()); %>
<html>
<head>
</head>
<body>
<%
StringBuilder stringBuilder = new StringBuilder("\n" + exception);
for(StackTraceElement element : exception.getStackTrace())
{
stringBuilder.append("\n" + element.toString());
}
logger.error("Unhandled exception caught: " + stringBuilder.toString());
%>
<p>Text here</p>
</body>
</html>
だから私の質問はこれです....このロギングを実行するためのより良い方法はありますか?上記は機能しますが、一般的なタスクである必要があるものに対して不必要に厄介なようです