日誌中如何輸出完整的堆棧異常

    程序中發生異常後,我們捕捉到異常之後一般是輸出e.toString到日誌,這樣我們只能知道異常類型是什麼,只有一個簡單的描述,無法看到具體的堆棧信息。利用下面一段代碼,可以將完整的堆棧信息輸出到日誌系統中。

public static String getTrace(Throwable t) {
        StringWriter stringWriter= new StringWriter();
        PrintWriter writer= new PrintWriter(stringWriter);
        t.printStackTrace(writer);
        StringBuffer buffer= stringWriter.getBuffer();
        return buffer.toString();
    }

在發生異常的地方,直接調用此方法即可:

try(){
 
}catch(IoException e)
   e.printStackTrace();
   logger.error(getTrace(e)); 
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章