slf4j和Log4j、log4j2等的关系

https://www.cnblogs.com/xing901022/p/4149524.html



面向接口编程,告诉我们使用具体的日志系统,不方便升级换代,引入的jar中的日志系统还可能不一样,无法使用,所以需要一个统一的日志接口,可以兼容各类日志系统。那就是slf4j。


slf4j提供接口,供用户使用。但不提供实现,用户要在自己的项目中进行选择配置期望的日志系统。只要引入的jar中都使用slf4j,那么就不会出现兼容问题。

具体使用方法是,在slf4j和具体的日志系统中间使用桥接,实现slf4j的spi接口,同时使用具体的日志系统。

给出几套方案:

1、slf4j+log4j

log4j核心jar包:log4j-1.2.17.jar

slf4j核心jar包:slf4j-api-1.6.4.jar

slf4j与log4j的桥接包:slf4j-log4j12-1.6.1.jar,这个包的作用就是使用slf4j的api,但是底层实现是基于log4j


2、slf4j+log4j2

log4j2核心jar包:log4j-api-2.7.jar和log4j-core-2.7.jar

slf4j核心jar包:slf4j-api-1.6.4.jar

slf4j与log4j2的桥接包:log4j-slf4j-impl-2.7.jar,这个包的作用就是使用slf4j的api,但是底层实现是基于log4j2

你可能感兴趣的:(slf4j和Log4j、log4j2等的关系)