控制台出现不明log,如何排查
1. 定位控制台中的未知log, 并抑制输出
历史遗留项目中依赖很多, 有时会有很多不同的日志框架被整合进来, 就有可能会遇到某些依赖包中的日志输出没有被日志设置覆盖, 在调试过程中会出现一些未知log, 无论怎么调整日志设置都还是不停出现(比如quartz)
2. 定位log输出位置及log接口类(jcl, slf4j等)
一般log前都会有类名输出, 这种很好找(类似 xxx.xxx.Logger) 如果没有,则可能要拿log关键字全局搜索, 可能存在于依赖包中 还是找不到的话则需要反编译依赖包后再全局检索
3. 定位log实现类, 确定log实现框架
新建测试类, 使用1中找的logger创建log, debug测试类, 查看logger的实现类(log4j, log4j2, logback, simplelogger)
4. 添加或修改log配置
项目内未知log实现框架的配置文件如果没有配置的话, 新增配置并抑制输出即可
抑制quartz log
simplelogger.properties
org.slf4j.simpleLogger.defaultLogLevel=warn
reference
Updated: 2024-11-29 23:48
Created: 2024-11-22 20:00