SLF4J Logger未输出接口中logger.info指定日志问题咨询
代码正确性判定
你给出的代码本身写法完全正确,SLF4J Logger初始化、info级别日志打印、接口逻辑都没有语法或逻辑错误,页面能正常渲染DevOps也可以验证接口确实被成功调用,问题出在日志配置层面。
问题定位与解决步骤
- 检查日志级别的配置
你当前使用的是dev环境配置,优先查看application-dev.yml/application-dev.properties中的日志级别配置,确认com.example.devops.web包或者父包的日志级别是否低于等于INFO,如果配置为WARN/ERROR,INFO级别的日志会被直接过滤。
正确配置示例(properties格式):
正确配置示例(yml格式):logging.level.com.example.devops.web=INFOlogging: level: com: example: devops: web: INFO - 检查日志输出的目标配置
确认日志输出规则中,INFO级别的日志是否被指定输出到你查看的日志文件中,部分默认配置只会把WARN及以上级别的日志写入文件,INFO级别仅输出到控制台。 - 验证Logger所属类的包名匹配
你初始化Logger使用的是LoggerFactory.getLogger(this.getClass()),对应的类全限定名是com.example.devops.web.WelcomeController,如果日志配置是按包名过滤,需要确认包名没有拼写错误、没有配置错位。 - 排查是否存在日志门面冲突
检查项目依赖中是否引入了多个日志实现(比如同时存在logback和log4j依赖),冲突会导致日志输出规则不生效,可以通过mvn dependency:tree命令排查日志相关依赖,排除多余的日志实现包即可。
内容的提问来源于stack exchange,提问作者user630702
相关产品推荐
相关产品推荐

