SLF4J 报错解决:No SLF4J providers were found

发布时间 2023-08-16 10:06:30作者: 小log

1、报错原因

我们在项目中引用了SLF4J,或引用的其他项目依赖了SLF4J时,有时会报错:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.

报错原因是SLF4J本身是一个接口,并不是真的日志实现库,需要依赖具体的实现才能正常运行,因此其必须和其他日志配合才可正常运行。如果没有实现层,SLF4J会使用一个空类(no-operation (NOP) logger)来完成,就不会记录log信息,需要将例如slf4j-api-xx.jar)+中间层(例如slf4j-log4j12)+实现层(例如log4j)这三层都配置好才能保证SLF4J正常运行。

2、配置例子

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.8.0-beta4</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.8.0-beta4</version>
</dependency>
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version>
</dependency>

 参考:https://blog.csdn.net/qq_40136782/article/details/108659851