I am pleased to announce SLF4J 1.8.0-alpha0, a modularized
version of slf4j compatible with Java 9 and in particular its
Java Platform Module System (JSR 376), a.k.a project Jigsaw.
Although there are no client facing API changes in 1.8.0-alpha0
release, the static binding mechanism has been abandoned in favor
of java.util.ServiceLoader introduced in Java 6. It follows that
slf4j-api now requires Java 6. Just as importantly, slf4j-api
version 1.8.x will no longer search for the StaticLoggerBinder
Instead of "bindings" now slf4j-api looks for "providers" which
ship with slf4j-nop-1.8.x.jar, slf4j-simple-1.8.x.jar or
Given that in some environments, it is not possible to modify the
version of slf4j-api, slf4j 1.8.x "providers" also act as
For example, having slf4j-api-1.8.x.jar and
slf4j-simple-1.7.x.jar on the class path will NOT work, whereas
having slf4j-api-1.7.x.jar and slf4j-simple-1.8.x.jar on the
class path will work fine.
In other words:
slf4j-api-1.8.x.jar + slf4j-simple-1.7.x.jar ==> "No SLF4J
providers found" warning
slf4j-api-1.7.x.jar + slf4j-simple-1.8.x.jar ==> OK
The relevant artifacts can be obtained via the Maven central
While we expect the changes introduced in SLF4J 1.8.x to be
rather transparent to users, given JPMS restrictions,
implementations had to be moved from the org.slf4.impl package to
packages specific to each provider. Consequently, the OSGi
declarations in MANIFEST.MF files had to be modified. Our tests
indicate that SLF4J version 1.8.x should work fine with
OSGi. However, more in depth testing is in order. We are looking
for volunteers for such tests.
The slf4j-log4j12 module
Due to technical reasons, slf4j-log4j12 could not be modularized
in this alpha0 release. However, we expect the problem to be
solved in future 1.8.x releases.
Announcement mailing list
You can receive SLF4J related announcements by subscribing to the
SLF4J announce mailing list. To subscribe to QOS.ch announce list,
please visit the following URL.