簡單的記錄一下Spring Boot日志框架啟動過程中的原理涕侈,這塊的代碼都是開源的,直接看源碼就行渴庆。
- 啟動類:
LoggingApplicationListener
- 框架體系:頂層抽象基類
LoggingSystem
雅镊,Logback的實(shí)現(xiàn)LogbackLoggingSystem
此外,LoggingApplicationListener
這個(gè)啟動鉤子计呈,并沒有被聲明注冊為Bean,又是怎么被發(fā)現(xiàn)的呢征唬,這就是Spring Boot對ApplicationListener
的統(tǒng)一處理了捌显,在spring-boot這個(gè)jar的META-INF/spring.factories文件中扶歪,有Spring Boot默認(rèn)要啟動的所有ApplicationListener
,后續(xù)就是通過反射創(chuàng)建這些類的對象及實(shí)現(xiàn)相應(yīng)的功能的摄闸。
其他的看源碼就行了善镰。
這塊源碼不復(fù)雜,已有的源碼分析博客:
springboot默認(rèn)日志框架選擇源碼解析 - dengyouhua - 博客園 (cnblogs.com)