我们在使用日志记录网站或者应用时,有时候启动会出现这个告警:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation
但是并不影响程序运行。可是看着心烦,现在发分享一下消除这个告警的方法。
原因:
我是在log4j的时候遇到这个问题的。首先引起这个问题的原因一眼就可以看出来,就是没有找 StaticLoggerBinder 这个类。
那解决方案就是,找到这个类所在的包,然后引入这个包就可以了。
另外,官网给出了这个问题更具体的说明:
This warning message is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.
翻译一下就是:当java虚拟机想要把 org.slf4j.impl.StaticLoggerBinder 这个类载入内存时,但是在我们项目的class path中又找不到
这个类是,就会报这个warning信息。将 slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar 或者 logback-classic.jar 其中的一个
放到我们的class path中就可以解决这个问题。
解决:
上述翻译已经给出了解决方案。我解决的方式是找了一个slf4j-simple-1.7.7.jar把放到我的class path中,再次运行程序就没有这个问题了。