Log4j 是 commons-logging 或 slf4j 的实现



Hy,

我已经读到commons-logging和slf4j是日志记录的"接口或规范",你必须插入一个实现。但是我已经读到你可以将log4j与commons-logging一起使用,也可以使用slf4j,所以:log4j同时"实现"commons-logging和slf4j的规范?我不明白

谢谢

SLF4j是一个日志外观,可以引入到Log4j和commons-logging项目中。因此,您使用SLF4j类来执行日志记录,它就像一个门面。在下面,您可以拥有 Log4j 或 SLF4j 支持的任何其他日志记录系统。这样做的好处是SLF4j使您免于绑定到特定的日志记录系统。

Sl4j 和 commons-logging 都是底层日志记录实现(如 log4j 或 JDK 日志记录)的外观。它们通过拥有自己的日志记录接口来工作,其中包含多个实现,每个实现都包装了具体日志记录框架的记录器接口。因此,在log4j示例中,Slf4j的org.slf4j.Logger接口有一个包装Log4j org.apache.log4j.Logger的实现,而不是相反。同样的机制也适用于公共记录。这样就可以根据需要独立使用Log4j,与Slf4j或commons-logging一起使用。

最新更新