SLF4J日志门面API与日志库实现包之间绑定方式的变迁

slf4j作为流行的日志门面,对常用的日志库API进行了抽象,应用层仅需要调用SLF4j的API就可以完成日志打印功能,而底层日志框架,可以灵活更换,可以用log4j也可以用logback或者其他自己喜欢或者工作环境要求的特定日志库。 slf4j的api是如何实现与底层日志库的绑定呢?api绑定解决不好,则会导致大量的类与功能实现进入api层面所在的模块,并且会导致拆分不彻底。 slf4j的绑定方式有两种,从1.0.X->1.7.X版本是采用的static-binding方式,以前我们经常会遇到的应用启动报错,说存在多个绑定类,然后选择了哪个绑定实现,就是这个应用的classpath中,引入了 …