slf4j

寫、㸔 2021-06-09 11:18:35

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

slf4j可已正常使用,进行maven操作时候如clean打包  时报错,但是不影响清除,也不影响打包  

请问哪位大佬告诉我下这是什么问题 ,怎么解决

...全文
1062 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-06-09
  • 打赏
  • 举报
回复 1

使用 maven 进行编译时 出现的警告信息,说明 pom.xml 文件中 缺少具体的适配器日志组件的衔接包的依赖。配置到依赖中就可以了。

不影响程序运行,是因为第二行警告信息,

由于没有找到具体的日志组件的衔接jar包,所以,默认提供一个 NOOP Logger进行处理了,

NOOP 的意思就是啥操作都不做。

编译不报错,但是,可能会没有SLF4J的日志输出,其他日志组件的使用应该不受影响。

冰思雨 2021-06-09
  • 打赏
  • 举报
回复 1

日志显示的很清楚了。

SLF4J 是一个接口性质的组件,具体写入日志的功能,需要额外的日志组件进行日志的写入。

如果你的项目使用的是 logback 作为日志的写入组件,那么,除了要在 pom 文件中配置 logback 的依赖以外,

还需要配置 logback-classic 的依赖。

日志信息表明 加载StaticLoggerBinder失败,说明你的依赖里面缺少 slf4j-logback 的依赖。

当然,slf4j 除了支持 logback 以外还支持 log4j , apache-commons-logging , jdk 等等多重日志组件进行具体的写入操作。

最后,

SLF4J 的jar包,其实可以分为3种类型:

1. slf4j-core 核心包,定义日志的接口类型,可以统一日志接口的使用。

2. slf4j-xxx 衔接 slf4j 与 具体负责日志写入的组件。

3. xxx-over-slf4j (桥接工具)覆盖某个日志写入的组件,把它定向到 slf4j 进行日志的输出。

比如 : jcl-over-slf4j  引入这个jar包的场景是你的项目里面原先是使用 Apache Commons Logging 的日志组件,现在,你不想使用 Apache Commons Logging 进行日志的写入了,并且,只想统一使用 SLF4J 进行日志的处理,然后,原先的代码还不想做具体的更改,那么,在这种情况下,引入 jcl-over-slf4j 就可以解决这个问题。

 

如果我写的东西你看不明白,请看 这个文章 https://blog.csdn.net/yangzl2008/article/details/81503579

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧