Hy,
我已经读过,commons-logging和slf4j是用于日志记录的“接口或规范”,你必须插入一个实现。但我已经读过你可以使用log4j作为commons-logging和slf4j,所以:log4j同时“实现”commons-logging和slf4j的规范?我不明白
由于
答案 0 :(得分:1)
SLF4j是一个日志记录外观,可以引入Log4j和commons-logging项目。因此,您使用SLF4j类来执行日志记录,它就像一个外观。在下面,您可以使用Log4j或SLF4j支持的任何其他日志记录系统。这样做的好处是SLF4j让您无法与特定的日志记录系统联系起来。
答案 1 :(得分:1)
Sl4j和commons-logging都是底层日志记录实现的外观,例如log4j或JDK日志记录。它们通过拥有自己的日志记录接口,多个实现,每个实现包装具体日志框架的记录器接口来工作。因此,在log4j示例中,Slf4j的org.slf4j.Logger接口有一个包含Log4j org.apache.log4j.Logger的实现,而不是相反。 commons-logging也适用相同的机制。这样就可以根据需要使用Log4j独立,Slf4j或commons-logging。