많은 기사/스레드를 읽었지만 아직 JSP에서 Apache Commons 로깅을 수행하는 가장 좋은 방법을 결정하지 못했습니다. JSP로 로그인하는 Apache Commons
나는 원래 그래서 지금 우리가 봄 봄이와 봄 3을 사용 그래서보다는 사용하여 만든 컨트롤러가 봄 (2)를 사용하여 개발 된 응용 프로그램에 향상된 오류 로직을 추가하고, 일부 내용을 제공하기 위해 컨트롤러 수준에서 MVC 3의 예외 처리, 모든 컨트롤러에 대해 모든 Propogated 예외를 기록 할 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>
그래서 내 질문이이 ....입니다이 로깅을 수행 할 수있는 더 나은 방법이 있나요? 위의 코드는 작동하지만 일반적인 작업으로 불필요하게 어색한 것으로 보입니다.
결코 필터는 생각지도 못했지만 분명히 깔끔하게 보입니다. logger.error ("잡히지 않은 예외 처리 :"+ 예외)를 시도했을 때 NullPointerException이 인쇄되었습니다. 아마도 실수를했을 수도 있습니다. printStackTrace()에서 화면에 인쇄하고 싶지는 않습니다. 로그에 기록하려면 어떻게해야합니까? – DJ180
Commons Logger의 구성 문제 일 수 있습니다. 미안하지만, 한번도 사용 해본 적이 없어서 자세히 설명 할 수는 없습니다. – BalusC