如何让SLF4J识别并加载resources目录下的logback.xml配置文件
问题根源
配置不加载的核心原因是pom依赖中存在slf4j-simple,且缺少logback的实现依赖:
SLF4J作为日志门面,同一时间只能绑定一个日志实现,slf4j-simple是轻量的无配置控制台日志实现,引入后会被优先绑定,直接跳过logback的配置加载流程,因此修改logback.xml不会产生任何效果,也不会报错。
修复步骤
- 移除pom文件中的
slf4j-simple依赖项:
<!-- 完全删除该依赖 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.30</version> </dependency>
- 新增logback官方实现依赖:
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.11</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.11</version> </dependency>
- 统一SLF4J系列依赖版本,避免兼容性问题:将
slf4j-api的版本从1.6.0升级到1.7.30,和其他slf4j组件版本保持一致。 - 清理项目编译缓存后重启服务,此时logback.xml会被正常加载,无效配置会抛出对应解析异常,合法配置会直接生效。
内容的提问来源于stack exchange,提问作者user14590280
相关产品推荐
相关产品推荐

