SLF4J warning or error messages and their meanings
Ceki Gülcü
created May 2006, last updated on May 2006
The method
o.a.commons.logging.impl.SLF4FLogFactory#release
was invoked.
Given the structure of the commons-logging API, in particular
as implemented by SLF4J, the
o.a.commons.logging.impl.SLF4FLogFactory#release()
method should never be called. However, depending on the
deployment of commons-logging.jar files in your servlet
container, release() may be unexpectedly invoked by a
copy of org.apache.commons.logging.LogFactory class
shipping with commons-logging.jar.
This is a relatively common occurrence with recent versions of Tomcat, especially if you place jcl104-over-slf4j.jar in WEB-INF/lib directory of your web-application instead of $TOMCAT_HOME/common/lib where $TOMCAT_HOME stands for the directory where Tomcat is installed. In order to fully benefit from the stability offered by jcl104-over-slf4j.jar, we recommend that you place jcl104-over-slf4j.jar in $TOMCAT_HOME/common/lib without placing a copy in your web-applications.
Please also see bug #22.
Logging factory implementation cannot be null
This error is reported when the LoggerFactory
class could not find an appropriate binding, indicating that no
appropriate SLF4J binding could be found. Placing one of
slf4j-nop.jar, slf4j-simple.jar,
slf4j-log4j12.jar, slf4j-jdk14.jar or
logback-classic.jar on the class path should prove to be
an effective remedy.
Failed to load class
org.slf4j.impl.StaticLoggerBinder
This error 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 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.