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

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

相关推荐
曹牧12 小时前
Java:上传文件到网页
java·开发语言
弹简特12 小时前
【JavaEE29-后端部分】Spring AOP 切点表达式详解——精准定位,想切哪里切哪里
java·spring·spring aop
gf132111112 小时前
【python_使用指定应用发送飞书卡片】
java·python·飞书
弹简特12 小时前
【JavaEE28-后端部分】Spring AOP 通知详解——五种“增强时机”,一网打尽
java·spring·spring aop
lulu121654407812 小时前
谷歌Gemma 4实战指南:Apache 2.0开源,移动端AI新时代来临
java·开发语言·人工智能·开源·apache·ai编程
独自破碎E12 小时前
Spring Boot + Vue 前后端联调踩坑记录
vue.js·spring boot·后端
程序员阿明13 小时前
spring boot在普通方法中获取HttpServletRequest及其使用的方式
java·spring boot·后端
花千树-01013 小时前
Spring Boot 启动慢排查与优化实战指南
java·spring boot·后端·spring
小江的记录本13 小时前
【Docker】《 Docker 高频常用命令速查表 》
java·前端·后端·http·docker·容器·eureka
kaixiang30013 小时前
若依RuoYi实战
java·服务器·前端