2015-11-02 96 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(),該信息由記錄器本身使用異常堆棧跟蹤生成。