[slf4j-dev] Release of SLF4J version 1.8.0-beta0
Ceki Gulcu
ceki at qos.ch
Fri Oct 20 15:43:08 CEST 2017
Java 9 modularization
=====================
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-beta0
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
class.
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
slf4j-jdk14-1.8.x.jar.
Given that having the same package name in different modules is a
showstopper in Java 9, the org.slf4j.impl package has been
removed from all slf4j modules in slf4j version 1.8.0-beta0. In
other words, starting with slf4j 1.8.0-beta0, "providers" will no
longer act as 1.7.x/1.6.x "bindings". This is in contrast to
1.8.0-alpha series where providers also acted as bindings.
For example, having slf4j-api-1.8.x.jar and
slf4j-simple-1.7.x.jar on the class path will NOT work. Moreover,
having slf4j-api-1.7.x.jar and slf4j-simple-1.8.x.jar on the
class path will NOT work either. The only version combination for
slf4j-api+slf4j-simple is version 1.8.x for both artifacts.
Download
========
The relevant artifacts can be obtained via the Maven central
repository.
OSGi changes
============
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.
http://www.qos.ch/mailman/listinfo/announce
You may also receive announcements via twitter:
https://twitter.com/qos_ch
Enjoy,
--
Ceki Gülcü
More information about the slf4j-dev
mailing list