slf4j和Log4j

作爲一個程序員,我想大家應該知道日誌對於一個程序的重要性。很多情況下,日誌是我們瞭解程序如何執行的唯一方式。

對於強大的Java語言來講,在日誌方面有很多成熟的開源框架可以被直接使用,如:JDK自帶的原生日誌框架java.util.logging、Log4j、LogBack、Log4j2。

而我們在使用日誌框架的時候,建立使用日誌門面的方式。

那麼問題來了,日誌門面是什麼?

實際上,SLF4J就是日誌門面的一種。它只是一個門面服務,具體的實現還是要依賴Log4j、LogBack這樣的日誌框架。這是門面模式的一個經典實現。就像我們去飯店吃飯,只需要向服務員點菜即可,具體菜怎麼做,是廚師來實現。

故,一般使用日誌工具的時候,選用SLF4J(或其它的日誌門面) + Log4j(或其它的日誌框架)的方式。

就算程序需要更換日誌框架,我們也可以不用考慮更換所帶來的成本。因爲日誌門面的存在,使我們不用考慮日誌實現的具體細節。當然是用日誌門面,還有其自身帶來的一些其他的便利,此處不做贅述。

綜上所述,在使用日誌工具的時候,不直接使用Log4j框架所提供的API,而是通過使用SLF4J日誌門面來實現日誌的操作。

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