一、概述

近期在导入一个已有的项目时,日志系统出现了一个问题。错误信息如下:

SLF4J问题

1
2
3
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: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
Eclipse - Failed to load class “org.slf4j.impl.StaticLoggerBinder” [duplicate]
SLF4J user manual

问题背景进一步描述如下:

1.1 项目的日志系统依赖

项目中,所有与日志系统相关的依赖如下:

错误信息提示的是 “无法加载 “org.slf4j.impl.StaticLoggerBinder”类 ”,在上图中无法找到该类的存在,因而确实是由于没有依赖造成的错误。

1.2 org.slf4j.impl.StaticLoggerBinder

从 maven 下载与项目中依赖版本相同的 slf4j 包,包结构如下:
{% image http://oltjxlyku.bkt.clouddn.com/sl4j_pkg_structure.png '' '' %}

通过资料查询知道,slf4j-nop-1.7.9.jarslf4j-simple-1.7.9.jar 两个 JAR 包中有org.slf4j.impl.StaticLoggerBinder 类。

二、解决方案

2.1 导入 slf4j-nop-x.x.x.jar

导入 slf4j-nop-x.x.x.jar 包,注意版本号要对应。

实际使用发现,导入该包后,之前的错误信息不会显示,log 日志内容也不显示。

仅仅只是不报错而已!!!问题并没有得到解决!

2.2 导入 slf4j-simple-1.7.9.jar

导入 slf4j-simple-x.x.x.jar 包,注意版本号要对应。

实际使用发现,导入该包后,日志能正常显示!!!