SpringBoot之之logback-spring.xml不生效的解决方法不生效的解决方法
主要介绍了SpringBoot之logback-spring.xml不生效的解决方法,小编觉得挺不错的,现在分享给大家,也给大
家做个参考。一起跟随小编过来看看吧
一、前言一、前言
做新应用就是这样,会遇到各种问题,昨天刚解决了加载某一个类时候抛出了 class is not visible from class loader 的问题,
今天就有遇到了日志文件找不到的问题,还是和二方库有关的,下面就一一道来。
二、问题产生二、问题产生
正常情况下在 src/main/resources 目录放下 logback-spring.xml 的配置文件(使用logback日志系统),如下图
application.properties里面设置 spring.application.name=spring-boot-demo-application
引入了一个二方包,二方包里面有 logback.xml
按照上面配置,运行后正常情况下我们希望在 user.home/spring-boot-demo-application/logs 目录应该有 applicaiton.log 日志
文件,然而并没有,连 spring-boot-demo-application 这个文件夹都没有生成。
三、问题分析三、问题分析
那么我们就去看看日志系统是如何查找并解析日志配置文件的,SpringBoot中是使用LoggingApplicationListener这个类来进行
日志系统的初始化的。LoggingApplicationListener实现了ApplicationListener接口,那么我们通过时序图看
LoggingApplicationListener的onApplicationEvent方法做了啥:
代码(8)查找标准日志配置文件,什么是标准那,那么就看代码(9)的代码:
protected String[] getStandardConfigLocations() {
return new String[] { "logback-test.groovy", "logback-test.xml", "logback.groovy",
"logback.xml" };
评论0
最新资源