使用log4j在Servlet中记录运行时异常

时间:2011-04-13 01:04:29

标签: java servlets exception-handling log4j

我的问题是基于这个问题: Log runtime Exceptions in Java using log4j在那里解释了如何编写自定义UncaughtExceptionHandler来获取log4j记录的RuntimeExceptions。

我按照建议编写了自己的UncaughtExceptionHandler。但是,我的Web应用程序(tomcat 5.5)不使用它。

我尝试将以下行添加到各个地方,但没有达到预期的效果:

Thread.setDefaultUncaughtExceptionHandler(new Log4JUncaughtExceptionHandler());

这是我的UncaughtExceptionHandler:

import org.apache.log4j.Logger;

public class Log4JUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {

    private static Logger log = Logger.getLogger(Log4JUncaughtExceptionHandler.class);

    public void uncaughtException(Thread t, Throwable ex) {
        log.error("Uncaught exception in thread: " + t.getName(), ex);
    }
  }

如何让它发挥作用?

1 个答案:

答案 0 :(得分:0)

Apache Tomcat Documentation解释如何正确配置日志记录,它确实涵盖了您想要做的事情的某些方面。