2015-11-02 93 views
1

我想以下面的方式记录堆栈跟踪它工作正常,但我想弄清楚有没有其他有效的方法来记录异常?如何记录sql异常?

catch (SQLException e) { 
       LOG.error(
          "Sql Exception: " 
            + e.getStackTrace()[1].getClassName() + "." 
            + e.getStackTrace()[1].getMethodName(), e); 
       throw e; 

回答

1

是:

LOG.error("Sql Exception", e); 

通知所述第二参数e。当像这样传入Exception/Throwable时,记录器会包含堆栈跟踪。无需手动(并且笨拙地)使用e.getStackTrace()

+0

谢谢你的帮助:) – kish

+0

@kish如果这回答了你的问题,那么请标记为接受的答案 – janos

0

您的代码中不需要使用+ e.getStackTrace()[1].getClassName() + "." + e.getStackTrace()[1].getMethodName(),该信息由记录器本身使用异常堆栈跟踪生成。