简单的记录一下Spring Boot日志框架启动过程中的原理,这块的代码都是开源的,直接看源码就行。
- 启动类:
LoggingApplicationListener
- 框架体系:顶层抽象基类
LoggingSystem
,Logback的实现LogbackLoggingSystem
此外,LoggingApplicationListener
这个启动钩子,并没有被声明注册为Bean,又是怎么被发现的呢,这就是Spring Boot对ApplicationListener
的统一处理了,在spring-boot这个jar的META-INF/spring.factories文件中,有Spring Boot默认要启动的所有ApplicationListener
,后续就是通过反射创建这些类的对象及实现相应的功能的。
其他的看源码就行了。
这块源码不复杂,已有的源码分析博客: