log4j、slf4j 和 logback 的区别

Difference log4j, slf4j and logback

log4j、logback和slf4j有什么区别。我什么时候需要使用它们中的每一个?能举几个例子吗?

Log4j 和 logback 正在记录 APIs 而 SLF4J 是一个日志外观。即 SLF4J 是各种日志框架的抽象,例如 log4jlog4j2logbackjcljul

所以您不能在您的应用程序中单独使用 SLF4J。它需要上面列出的日志记录 API 之一作为其日志记录提供程序。 SLF4J 还提供各种 bridging APIs 将日志记录从其他日志记录 API 路由到 SLF4J。

虽然logback是一个loggingapi,但是不使用slf4j是不行的。

所以如果你想使用它们中的每一个,那么你可以使用 SLF4J 和 logback 作为你的日志记录实现,并使用 log4j-over-slf4j.jar 来重定向你的log4j 记录到 SLF4J。

请参阅以下由 Baeldung 创建的示例,了解如何将 log4j 桥接与 slf4j 一起使用。

https://www.baeldung.com/slf4j-with-log4j2-logback#Setup