背景:

日志好比我们的眼睛,没有日志 == 被蒙住了双眼,发生啥都不知道了。
今天上阿里的日志服务(SLS)查看某个服务的日志,发现竟没有日志。

排查开始:

一检查:日志是否输出到文件,因为SLS是读取日志文件的;所以马上到K8S容器看看是否输出到日志文件,发现没有日志文件,说明日志没有输出到日志文件。
二检查:查看项目 log 配置,正常无误。
三检查:控制台输入,也没有 log 日志打印。
四检查:环境问题?因此本地启动项目排查。

本地排查

启动就看到高亮红色输出
在这里插入图片描述

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

问题浮现了:log jar包冲突了,实际使用了 ch.qos.logback.classic.util.ContextSelectorStaticBinder,正确的应该是使用 log4j,导致无日志打印。

苦恼:微服务基本都是基于各种 脚手架 的应用,怎么才能知道是哪个依赖引用了 logback。
这时候神器插件出场:Maven Helper
在这里插入图片描述

话不多说,赶紧装上,好使

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐