SpringBoot集成logback初始化源码解析(部分)

一.SpringBoot配置扩展点

SpringBoot日志模块使用监听的方式进行初始化,在SpringBoot项目启动后,会通知日志监听器

在日志监听器中ApplicationStartingEvent事件用来确定到底使用哪个日志系统,logback log4j等

在日志监听器中ApplicationEnvironmentPreparedEvent事件中用来确定日志配置文件

如果没有配置logging.config属性,则使用系统约定配置,系统约定配置又分为logback约定和spring约定

logback的默认配置如下:

复制代码
@Override
protected String[] getStandardConfigLocations() {
    return new String[] { "logback-test.groovy", "logback-test.xml", "logback.groovy",
          "logback.xml" };
}

spring的默认配置如下:

复制代码
protected String[] getSpringConfigLocations() {
    String[] locations = getStandardConfigLocations();
    for (int i = 0; i < locations.length; i++) {
       String extension = StringUtils.getFilenameExtension(locations[i]);
       locations[i] = locations[i].substring(0,
             locations[i].length() - extension.length() - 1) + "-spring."
             + extension;
    }
    return locations;
}

这段代码含义就是logback默认配置的前缀"-spring".xml

二.Logback加在配置优先级

优先级为默认配置>默认配置的前缀"-spring".xml

默认配置又是数组的先后顺序

相关推荐
i***13241 分钟前
【SpringBoot】单元测试实战演示及心得分享
spring boot·后端·单元测试
路边草随风6 分钟前
flink实现写orc对数据进行分目录(分区表)写入
java·大数据·flink
geekmice12 分钟前
通过账户信息操作加深对DTO,VO,BO理解
java
r***013814 分钟前
Java进阶,时间与日期,包装类,正则表达式
java·mysql·正则表达式
APIshop18 分钟前
Java爬虫第三方平台获取1688关键词搜索接口实战教程
java·开发语言·爬虫
k***121719 分钟前
SpringCloud实战【九】 SpringCloud服务间调用
java·spring boot·spring cloud
请为小H留灯22 分钟前
Java快捷健(详细版)
java·开发语言
执笔论英雄23 分钟前
【RL】 ROLL Generate Scheduler
java·服务器·数据库
北郭guo25 分钟前
垃圾回收底层原理【深入了解】
java·jvm·算法
D***441429 分钟前
【SpringBoot】Spring Boot 项目的打包配置
java·spring boot·后端