2016-09-18 49 views
8

我對這三個記錄器庫有點困惑。這似乎是他們可以做類似的事情,在Java日誌...log4j,slf4j和logback有什麼區別?

+0

他們做類似的事情。他們有不同的API。我會用你最喜歡的那個。順便說一句,看看log4j2而不是log4j。 –

+3

@PeterLawrey除了slf4j,它本身不是一個記錄器(它是一個爲* *另一個*記錄器提供一致的api的外觀)。 –

+0

@ElliottFrisch好點,雖然我用slf4j-simple,不需要另一個記錄器。 –

回答

15

檢查了他們的主頁:

SLF4J - 在簡單的日誌門面的Java(SLF4J)作爲簡單的門面或抽象 用於各種日誌框架(例如java.util.logging,logback,log4j),允許最終用戶在部署時插入所需的日誌框架。

1)它本身不是一個日誌記錄庫,而是一個通用接口,用於許多日誌記錄庫之一。

Log4j 1.2 - 歡迎使用Apache log4j,日誌庫 for Java。

Logback - Logback是打算作爲流行的log4j項目的後繼者,在log4j離開的地方。

Log4j 2 - 阿帕奇的Log4j 2是升級到Log4j的,超過其前任,Log4j的1.x中提供顯著的改善,以及提供了許多的的logback提供的改進,同時在固定的logback的架構的一些固有的問題。

至少,這就是他們所說的自己。