我們在使用日志記錄網站或者應用時,有時候啟動會出現這個告警:
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中,再次運行程序就沒有這個問題了。