SLF4J 与 Log4j


什么是 log4j?

log4j 是一个用 Java 编写的可靠、快速且灵活的日志框架 (API),根据 Apache 软件许可证分发。

log4j 在运行时可以通过外部配置文件进行高度配置。它按照优先级级别查看日志记录过程,并提供将日志记录信息定向到各种目的地的机制,例如数据库、文件、控制台、UNIX Syslog 等(有关 log4j 的更多详细信息,请参阅我们的教程

SLF4J 和 Log4j 的比较

与 log4j 不同,SLF4J ( Simple Logging Facade for Java ) 不是日志框架的实现,它是Java 中所有与log4J 类似的日志框架的抽象。因此,你不能比较两者。然而,在两者之间选择其一总是很困难的。

如果可以选择,日志抽象总是比日志框架更可取。如果您使用日志抽象,特别是 SLF4J,则可以在部署时迁移到您需要的任何日志框架,而无需选择单一依赖项。

观察下图可以更好地理解。

应用