The page Commons Logging Bridge mentions under Usage that...
Simply add the bridge jar along with the other Log4j 2 jars and all logging done using the Commons Logging API will be routed to Log4j.
...and under Requirements only that...
The Commons Logging Bridge requires at least Java 6 and is dependent on the Log4j 2 API.
But this is actually not the case since the API classes from the package org.apache.commons.logging are not bundled within the bridge JAR.
So currently the name log4j-jcl-2.0.jar is a misnomer and so the solution would be to either...
- rename log4j-jcl-2.0.jar to log4j-jcl-impl-2.0.jar (following the example of log4j-slf4j-impl-2.0.jar) and distribute the commons-logging-api-1.x.jar along with the Log4J2 distribution (perhaps as log4j-jcl-api-2.0.jar)
- package the necessary Commons Logging API classes directly into the log4j-jcl-2.0.jar
The second solution is how SLF4J handles things, how the description page above describes things and how the SLF4J binding/bridge is supposed to work (see