Tomcat和Logging Stacktrace信息

时间:2012-01-19 15:18:30

标签: java tomcat logging stack-trace

我有一个非常奇怪的问题。当我记录堆栈跟踪时,它们似乎起源于我调用记录器的行,而不是发生错误的行。在追踪错误方面,这会导致一些严重的浪费时间。

使用tomcat6,openjdk 6和log4j。

有什么想法?提前感谢您提供任何帮助。

以下是示例。代码,第137-142行:

try {
    req.getContentType().trim();
} catch (Exception e) {
    log.error("DEBUG: " + e.getLocalizedMessage(), e.fillInStackTrace());
        e.printStackTrace();
}

日志:

2012-01-19 10:13:25,393 [http-8080-1] ERROR com.myservlet.servlet.Servlet2  - DEBUG: null
java.lang.NullPointerException
    at com.myservlet.servlet.Servlet2.doPost(Servlet2.java:140)
    at com.myservlet.servlet.Servlet2.doGet(Servlet2.java:292)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) ...

1 个答案:

答案 0 :(得分:4)

不要填写堆栈跟踪内容,您的异常应该完全填充。

简单地做

log.error("My message", e);