logger.error打印完整的錯誤堆棧信息


使用Spring Boot項目中的日志打印功能的時候,發現調用Logger.errror()方法的時候不能完全地打印出網站的錯誤堆棧信息,只能打印出這個錯誤是一個什么錯誤。

為什么呢,原因在於這個方法是一個重載的方法(在一個類里面,方法名字相同,而參數不同)。

public void error(String msg, Throwable t);

public void error(String msg);

如果只是傳一個參數e進去,那么e就會被當作是String類型(會自動掉哦那個toString()方法把Exception轉成String),而不是Exception類型。

如果想打印堆棧信息,那么必須傳兩個或兩個以上的參數,實際上就是為了調用上面的第一個多態方法。

因此正確的調用方法應該是:

Logger.error("出錯了", e); // 第二個參數是Exception類型

而不是:

Logger.error("出錯了" + e);
Logger.error(e);
Logger.error(e.getMessage);

調用方法的時候最好點進源碼里面查看是否存在重載的情況,避免調用不當造成沒有達到預期的效果。

 

"很多人變了,很多事變了。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM