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

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

相关推荐
冉冰学姐1 小时前
基于ssm的技能比赛报名管理系统29817vn0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
java·数据库·spring·ssm 框架应用
代码雕刻家4 小时前
3.5.Maven-依赖管理-依赖配置&依赖传递
java·maven
!chen4 小时前
MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁
java·tomcat·mybatis
Jin、yz5 小时前
JAVA 八股
java·开发语言
va学弟5 小时前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
pjw198809035 小时前
Spring Framework 中文官方文档
java·后端·spring
jgyzl5 小时前
2026.3.11MyBatis-Plus基本使用与思考
java·数据库·mybatis
fu15935745686 小时前
sealos部署Java后端(若依为例)
spring boot
Full Stack Developme6 小时前
Java 常用通信协议及对应的框架
java·开发语言
( •̀∀•́ )9206 小时前
Spring Boot 启动报错 `BindException: Permission denied`
java·spring boot·后端