0

我正在使用他们给我的代码来尝试解决错误,但直到现在,抛出的异常只会将我发送到

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());
    }

但在中间我找不到任何对异常的引用。我怎样才能让“catch”部分告诉我错误在哪里?

4

2 回答 2

5

您需要将异常 stackTrace 传递给您的记录器。如果您键入 e.printStackTrace() 它会将堆栈跟踪放到 System.err

正确的方法是写东西,

log.error("你的消息",e);

log4j 将处理对象 e,并在您的记录器中打印 stackTrace。

于 2012-04-19T14:58:41.507 回答
0

你找错地方了。

堆栈跟踪将写入标准错误所在的文件中。

您没有说您使用的是哪个 AS(如果有的话),但它们中的大多数都有某种 stderr.out 文件。

此外,您可以使用记录器记录异常,如 zaga250 所说:

log.error("errrr", e );
于 2012-04-19T15:02:06.493 回答