Spring boot系列(六)Log


Posted by newstart1117 on 2022-03-23

淺談Log


Log記錄不論是在開發過程中進行測試,或是未來系統上線後偵錯,都是相當重要的一個工具,有助於我們快速找到問題原因,了解程式運行情況或變數變化情形。

Logback 與 SLF4J 比較

SLF4J只是一種日誌的介面,而Logback是一種日誌實現的框架,log4j、log4j2也是一種日誌實現的框架。Spring boot目前預設的日誌框架是Logback,因此不需要再額外新增依賴。

SLF4J強大的地方在於,良好的適應各種日誌實現框架,在轉換使用各種日誌框架時,無需修改程式碼,即可完成轉換。


Logback、Log4j、Log4j2 比較

從命名上來看,很明顯Log4j2是從Log4j衍生而來的,而根據資料來看,他們的效能關係是Log4j2 > Logback > Log4j,尤其在非同步的情況中,Log4j2 >> Logback。不過spring boot預設的日誌實現框架是logback,因此在沒有特別的需求下,Logback已經足夠應付使用了


SLF4J 實作

private static final Logger LOG = LoggerFactory.getLogger(MyClass.class);
LOG.info("info");
LOG.warn("warn");
LOG.debug("debug");
LOG.trace("trace");
LOG.error("error");

Logback、Log4j2 實作

事實上,目前還沒有很清楚彼此之間的差異,希望透過後續章節分別實作這兩種日誌框架,可以對此有個更深入的了解。


參考

有興趣的人可以參考他的說法
Spring Boot Logging Best Practices Guide


#java #spring boot #log







Related Posts

Redux, connect

Redux, connect

Week5 homework

Week5 homework

關於 React 小書:做出 React

關於 React 小書:做出 React


Comments