2016-09-18 102 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的架构的一些固有的问题。

至少,这就是他们所说的自己。