我们随便新建一个SpringBoot项目,进入依赖 看下依赖图 【这里不多说】,,
SpringBoot的底层就是用了 slf4j ,实现用了 logback吗,
我们随便选一个 研究看看他的中间包:【这里选的是 jcl-over-slf4j】
可以看到 包名都没换,偷梁换柱! 换的是什么呢,点进去看看:
看见没 new 的是 SLF4JLOG的工厂什么什么方法,所以这就是“偷梁换柱”
原理就在这里 ,问题又来了:
如果我们要引入其他框架?一定要把这个框架的默认日志依赖移除掉?
以为Spring框架架用的是commons-logging日志框架,我们去Spring-Boot-sterter 查看可以看到:
由此可见!!!总结一句话:
SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要 把这个框架依赖的日志框架排除掉即可;
SpringBoot就是就那么简单! 就是那么好玩!