springboot日志不生效问题深入分析
auth by:yangs , at 2022-09-22
现象
在一次环境排查问题中,发现某系统日志不打印。通过各种排查,总结后引起原因为配置这块后面改动比较多,有配置移动,打包脚本优化涉及关联改动。导致错误配置引起日志读取失败。无法到达预期配置的效果。
深入分析
在LoggingApplicationListener进行日志系统处理。
在启动初期LoggingSystem会根据引入包判断引用哪种日志实现。按照logback,log4j,javaLog的优先级顺序,判断类是否加载决定日志具体实现。
![LoggingSystem初始化](https://img-blog.csdnimg.cn/971455cae2ae49edaa908429ef5aaf13.png)
判断是否引入对应的jar
![LoggingSystem决定日志具体实现方式](https://img-blog.csdnimg.cn/08303b3eab124b70a9b044b0a11d457e.png)
接着进入环境配置处理。
在bootstrap处理里面可以看到,而恰好修改过后的配置logging.config放这个文件里面。
![加载bootstrap](https://img-blog.csdnimg.cn/85140c394bfa46a6abb1b5ac8f455da6.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d6e14938bb574463bdc87366be3b3185.png)
这里未启动bootstrap.enable,不会