Springboot的SLF4J日志框架

Springboot的SLF4J日志框架_第1张图片

从图中可以看出,每个application(请求)对应一个SLF4J抽象层,与继承类似,每个SLF4J实现都有实现类特殊的意义,可以看做子类继承父类的接口,重写父类的方法,每个实现类,都有不同的实现

logback是直接实现了SLF4J框架,可以直接使用调用logback中的方法,属于实现层

log4j与logback不同,没有直接实现SLF4J,则需要借助适配层(slf4j-log412.jar),可以使两个框架进行适配

在springboot中使用SLF4J作为抽象层使用Logback作为实现层,但是对于每个日志框架中都有自己的配置文件,我们现在使用SLF4J以后,配置文件就写日志实现类的配置文件,使用Logback就写logback的配置文件,使用Log4j就写Log4j的配置文件

但是我们在以后开发的过程中会遇到各种各样的框架,比如Spring是用Commons-loggging,Hibernate使用的Jboss-logging,都存在适配问题,所以在SLF4J官网上给出了解决方法.

Springboot的SLF4J日志框架_第2张图片

 如何在系统中统一使用SLF4J

1,将系统中的其他的日志排除(如图中将Commons logging-API日志排除)

Springboot的SLF4J日志框架_第3张图片

2,用中间包来替换原有的日志框架(使用jcl-over-SLF4J.jar进行替换)

Springboot的SLF4J日志框架_第4张图片

3,导入SLF4J其他的实现

Springboot的SLF4J日志框架_第5张图片

 

 

你可能感兴趣的:(slf4j)