我正在使用他们给我的代码来尝试解决错误,但直到现在,抛出的异常只会将我发送到
行。log.error("Error saving data: " + e.toString());
是。我不知道如何找出正确的行,因为e.printStackTrace()不输出任何内容。功能是这个部分:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {...
try {...
} catch (Exception e) {
e.printStackTrace();
log.error("Error al almacenar los datos de usuario: " + e.toString());
}
但在中间我找不到任何对异常的引用。我怎么能得到“捕获”部分来告诉我错误在哪里?
答案 0 :(得分:5)
您需要将异常stackTrace传递给记录器。如果键入e.printStackTrace(),则会将堆栈跟踪放入System.err
正确的方法是写点东西,
log.error("您的消息",e);
和log4j将处理对象e,并在记录器中打印stackTrace。
答案 1 :(得分:0)
堆栈跟踪将写入标准错误所在的文件中。
你没有说你使用的是哪个AS(如果有的话),但是大多数都有某种stderr.out文件。
此外,您可以使用记录器记录异常,因为zaga250说:
log.error("errrr", e );