Информация о Tomcat и регистрации стека - PullRequest
1 голос
/ 19 января 2012

У меня очень странная проблема.Когда я записываю трассировки стека, они, кажется, происходят из строки, где я вызываю регистратор, а не из строки, где происходит ошибка.Это приводит к серьезным потерям времени с точки зрения отслеживания ошибок.

Использование 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 Ответ

4 голосов
/ 19 января 2012

Не выполняйте заполнение трассировки стека, ваше исключение должно появиться полностью заполненным.

Просто сделай

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