[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