如何调整引入的第三方库日志级别?Spring Boot下oshi日志配置不生效问题
问题根因
- 配置混用了Log4j 1.x语法:
<category>是Log4j 1.x的配置标签,Log4j 2.x不识别,该段配置完全无效。 - Spring Boot默认自带Logback日志实现,若未主动排除默认日志依赖,会和你引入的Log4j2依赖产生冲突,导致Log4j2配置不生效。
修复步骤
1. 排除Spring Boot默认日志依赖
在pom.xml的spring-boot-starter依赖中排除自带的日志实现:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>
2. 清理Log4j2.xml无效配置
删除<category>这段冗余的Log4j 1.x配置,调整Logger配置即可。如果需要控制台也不输出oshi的DEBUG日志,需要给oshi的Logger添加控制台Appender引用:
<Loggers> <Logger name="oshi" level="info" additivity="false"> <AppenderRef ref="LogToRollingFile"/> <!-- 需控制台不输出oshi DEBUG日志则新增下面一行 --> <AppenderRef ref="LogToConsole"/> </Logger> <Root level="info"> <AppenderRef ref="LogToConsole"/> <AppenderRef ref="LogToRollingFile"/> </Root> </Loggers>
3. 验证配置加载
启动项目时添加启动参数 -Dlog4j2.debug=true,可在控制台查看Log4j2初始化日志,确认配置文件被正常加载、无依赖冲突报错。
内容的提问来源于stack exchange,提问作者Alok P
相关产品推荐
相关产品推荐

