SLF4J News
Please note that you can receive SLF4J related announcements by subscribing to the SLF4J announce mailing list.
July 9th, 2007 - Release of SLF4J 1.4.2
The log4j-over-slf4j module has been moved back into SLF4J. Originally, this module was part of SLF4J and was moved into logback due to the lack of MDC support in SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J 1.4.1, log4j-over-slf4j returns to its original home. Note that the previous name of the module was log4j-bridge.
Addition of the getMDCAdapter
method to
org.slf4j.MDC class. This allows access to the actual MDC
implementation which can on occasion come in very handy.
July 4th, 2007 - Release of SLF4J 1.4.1
SLF4J now supports Mapped Diagnostic Contexts (MDC) as requested by Andy Gerweck and Steve Ebersole in bug 49.
Fixed bug
53 as reported by Heinrich Nirschl. The public method
trace(String)
in the Log4jLoggerAdapter
class incorrecly called the underlying log4j logger with level DEBUG
instead of TRACE.
Fixed various documentation related errors kindly reported by Mark Vedder.
May 16th, 2007 - Release of SLF4J 1.4.0
In response to many user requests over time, the TRACE level has been added to org.slf4j.Logger interface. Please also see the FAQ entry discussing the TRACE level.
Fixed bug
47 as reported by Terry Todd. In previous a SLF4J release the
org.apache.commons.logging.impl.SLF4FLogFactory
class
was renamed as SLF4JLogFactory
. The
META-INF/services/org.apache.commons.logging.LogFactory
resource file had not reflected this change. It does now.
Eric Yung reported
that Apache commons-configuration access certain commons-logging
classes, namely org.apache.commons.logging.impl.NoOpLog
and SimpleLog, directly. Following Eric's suggestion,
jcl104-over-slf4j now includes the aforementioned classes.
April 15th, 2007 - Release of SLF4J 1.3.1
In response to a enhancement
request made by Michael Newcomb, a marker can now be detached
from the internal list of the MarkerFactory
that
generated it.
Fixed a silly but nonetheless annoying bug where log request of level ERROR made through jcl104-over-slf4j would log twice. This bug was reported and precisely described by Andrew Cooke.
February 25th, 2007 - Release of SLF4J 1.3.0
This release consists of rearrangement of classes among
projects. More specifically, the
org.slf4j.LoggerFactory
class is now packaged within
the slf4j-api.jar file instead of the various slf4j
bindings. It follows that client code needs to depend on only
slf4j-api in order to compile, while the various slf4j bindings are
only needed as runtime dependencies. See also the Maven2-related FAQ entry. Given the
practical significance of this change, we highly recommend that
library-authors upgrade to version 1.3 at their earliest
convenience.
Bug number 23 has been fixed, at the cost of minor and backward compatible changes. In other words, jcl104-over-slf4j now preserves caller location information.
It is now possible to obtain the root logger of the underlying logging implementation by requesting a logger named "ROOT". This feature was requested by Sebastien Davids in bug report 35.
For an exact list of changes please refer to the 1.3.0 compatibility report file as generated by clirr.
January 24th, 2007 - Release of SLF4J 1.2
This release includes several modifications to make SLF4J an OSGi-friendly framework. The modules' MANIFEST.MF files now include OSGi metadata. Regarding these improvements, and OSGi in general, the SLF4J project is happy to welcome John E. Conlon as a new committer.
Marker objects are now Serializable.
December 21st, 2006 - Release of SLF4J 1.1.0 (final)
This release consists of minor bug fixes and documentation changes. More importantly, the log4j-over-slf4j module has been moved to the logback project, under the name log4j-bridge.
Added the file "org.apache.commons.logging.LogFactory" under META-INF/services directory which went missing in the 1.1.0 series of SLF4J. This fixes a compatibility problem with Apache Axis which uses its own discovery mechanism, namely, commons-discovery version 0.2. The problem was reported in bug report 33 by David Varnes.
The file jcl104-over-slf4j.jar had various entries missing in its MANIFEST.MF file, as reported by Boris Unkel in bug number 30.
November 16th, 2006 - Release of SLF4J 1.1.0-RC1
This release consists of packaging related bug fix in addition to minor documentation changes.
Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the slf4j-parent pom. The solution to Maven version problem does not work for public projects such as SLF4J because SNAPHOTs are not allowed on ibiblio.
November 4th, 2006 - Release of SLF4J 1.1.0-RC0
This release consists of bug fixes. Moreover, since the major packaging related changes in 1.1.0-beta0 seem to work well, this release is marked as RC0.
Fixed the JDK 1.5 dependency for the SLF4J build, as reported by Boris Unkel in bug number 28. SLF4J now explicitly declares a dependency on JDK 1.4 in its pom.xml file.
Fixed an incorrect reference to the logback project in slf4j-api pom file. This bug was reported by Boris Unkel in bug number 29.
Fixed a syncroisation problem in factories of almost all SLF4J bindings. This bug was reported independenly by Howard M. Lewis Ship and Boris Unkel in bug reports 26 and respectively 27.
September 7th, 2006 - Release of SLF4J 1.1.0-beta0
Release 1.1.0-beta0 is a relatively important release with a refactoring of the way class files are organized in jar files. In previous releases, each binding was self-contained in a single jar file. In this release, each and every binding depends on slf4j-api.jar which contains the bulk of the classes required to use SLF4J, except for one or two adapter classes. Only the adapter classes are now shipped with each specific binding jar as appropriate for the underlying logging system..
This release is built using Maven instead of Ant. As for the java code, it has not been changed.
June 8th, 2006 - Release of SLF4J 1.0.2
Release 1.0.2 is a maintenance release containing bug fixes only.
- Fixed bug number
22 reported by Bjorn Danielsson. This version of the SLF4J API
will no longer systematically throw an exception when the
o.a.c.l.impl.SLF4FLogFactory#release()
method is invoked. Instead, therelease()
method will issue a warning.
May 1st, 2006 - Release of SLF4J 1.0.1
Release 1.0.1 is a maintenance release containing bug fixes only.
- Fixed bug number
20 reported by Steve Bate.
JDK14LoggerAdapter
will now correctly relay the logger name to the underlying JDK 14 logging system. - Added the file "org.apache.commons.logging.LogFactory" under META-INF/services directory in the jcl104-over-slf4j jar file. This fixes a compatibility problem with Apache Axis which uses its own discovery mechanism, namely, commons-discovery version 0.2. The bug was reported by Dave Wallace.
March 8th, 2006 - Release of SLF4J 1.0
This is release labeled as 1.0 (final) contains few relatively minor changes:
- As discussed
on the slf4j user list,
SimpleLogger
now directs its output to stderr instead of stdout. - Modified
JDK14LoggerAdapter
so that caller information is now correctly printed, as reported in bug 13 by Peter Royal. - Minor additions to the Marker interface.
February 4th, 2006 - Release of SLF4J 1.0-RC6 and NLOG4J 1.2.22
The MarkingLogger
interface has been removed and its
contents merged into org.slf4j.Logger
. This change
should not adversely affect end-users. However, SLF4J bindings need
to be updated. This has been done for all the bindings shipped with
SLF4J distribution as well as NLOG4J. As for x4juli, the update is
planned for its next release.
The merge between the MarkingLogger
and
Logger
interfaces has been motivated by the need to
allow end-users to easily switch between logging systems that
support markers and those that do not.
Added a default instance to SimpleLoggerFactory to serve as a last resort fallback mechanism. This instance is designed to be used by a very specific group of users, namely for those developing logging systems (e.g. log4j or LOGBack). It is not intended for end-users of the SLF4J API.
January 9th, 2006 - Release of SLF4J 1.0-RC5 and NLOG4J 1.2.21
A maintenance release correcting bugs #11 and #12 and in general improved resilience to null input parameters across implementations. Many thanks to Boris Unckel and Kenneth for reporting the null input issue.
December 27th, 2005 - Release of SLF4J 1.0-RC4 and NLOG4J 1.2.20
The printing methods in org.slf4j.Logger
interface
now support passing 3 or more parameters in an Object
array. This was a frequently requested feature missing in previous
versions of SLF4J.
NLOG4J 1.2.20 reflects the addition of new methods in the
org.slf4j.Logger
interface.
December 8th, 2005 - Release of SLF4J 1.0-RC3
Maintenance release fixing reported bugs #6 and #7.
November 28th, 2005 - Release of SLF4J 1.0-RC2
In response to a request by Greg Wilkins, this release adds the jar file slf4j-jcl.jar, an SLF4J binding for JCL. Please read the gradual migration section in the manual for more details.
November 21st, 2005 - Release of SLF4J 1.0-RC1
A maintenance release correcting bugs #4 and #5. Many thanks to Christian Beil for accurately reporting bug #4.
There has been also an effort to minimize the file sizes of the various jar files produced by SLF4J, resulting in jar files approximately 40% smaller than in version 1.0beta9.
Given that the SLF4J API is now deemed stable, this release is marked as RC1, that is release candidate number 1.
October 19th, 2005 - Release of SLF4J 1.0-beta9
The SLF4J distribution now includes two distinct bindings slf4j-log4j12.jar and slf4j-log4j13.jar in order to differentiate between log4j version 1.2 and version 1.3. This distinction is absolutely necessary because log4j 1.2 and 1.3 are not run-time compatible, although they are mostly compile-time compatible.
October 19th, 2005 - Release of SLF4J 1.0-beta8 and NLOG4J 1.2.18
Added a new SLF4J binding, slf4j-log4j.jar, intended to be used in conjunction with vanilla log4j.jar, as distributed by the Apache Logging Services project. The slf4j-log4j binding is quite similar in structure to the JDK 1.4 binding that existed previously.
The slf4j-log4j binding addresses compatibility problems which arose when copies of both log4j.jar and nlog4j.jar lay on the class path, in particular when it was undesirable or impossible to remove the preexisting log4j.jar file.
Methods in the org.slf4j.Logger
interface related to
markers were moved to a separate super interface called
org.slf4j.MarkingLogger
. This refactoring reduces
the weight of the
Logger
interface.
August 28th, 2005 - Release of SLF4J 1.0-beta7 and NLOG4J 1.2.17
Spurred by bug report #3, SLF4J binding code has been refactored and simplified. Logging systems implementing SLF4J interfaces have to have less work in order to bind with SLF4J. Moreover, these changes have no incidence on the published interface of SLF4J.
August 26th, 2005 - Release of SLF4J 1.0-beta6
To ease migration to SLF4J from JCL, this release includes a jar file called jcl-over-slf4j-1.0.4.jar. This jar file can be used as drop-in replacement for JCL version 1.0.4. It implements the public API of JCL using SLF4J underneath.
Thus, you can immediately benefit from the advantages of SLF4J without waiting for all the libraries you depend on to migrate to SLF4J first.
August 16th, 2005 - Release of NLOG4J 1.2.16
This release adds solves a compatibility problem between log4j and nlog4j. Previous to this release, code compiled with log4j would not run correctly with nlog4j.
With the fixes introduced in NLOG4J 1.2.16, code compiled with log4j 1.2.x will run without problems when deployed using NLOG4j.
However, the inverse is not true. Code compiled with nlog4j can only be deployed using nlog4j.
August 12th, 2005 - Release of SLF4J 1.0-beta5 and NLOG4J 1.2.15
This release adds support for the Marker interface. Thus, log statements can be decorated with Marker data allowing more expressive power in the processing of log statements.
For the sake of IoC frameworks, Logger
instances can
new be queried for their name.
With the addition of markers, sub-domains are no longer needed.
The LoggerFactoryAdapter
has been simplified and
renamed as ILoggerFactory
.
July 5th, 2005 - Release of NLOG4J 1.2.14
This release fixes compatibility problems between NLOG4J and Jakarta Commons Logging.
June 28th, 2005 - Release of SLF4J 1.0-beta4 and NLOG4J 1.2.13
Following discussions on the SLF4J developers list, the
signatures of the printing methods in org.slf4j.Logger
interface have been modified to admit messages of type
String
instead of type Object
as
previously. The current set of printing methods is listed below.
void debug(String msg); void debug(String format, Object arg); void debug(String format, Object arg1, Object arg2); void debug(String msg, Throwable t); void error(String msg); void error(String format, Object arg;) void error(String format, Object arg1, Object arg2); void error(String msg, Throwable t); void info(String msg); void info(String format, Object arg); void info(String format, Object arg1, Object arg2); void info(String msg, Throwable t); void warn(String msg); void warn(String format, Object arg); void warn(String format, Object arg1, Object arg2); void warn(String msg, Throwable t);
NLOG4J release 1.2.13 reflects changes in the SLF4J API.
You can download SLF4J and NLOG4J, including full source code, class files and documentation on our download page.
May 17th, 2005 - SLF4J version 1.0-beta-3 released
In response to user comments, the org.slf4j.ULogger
interface has been renamed as org.slf4j.Logger
.
May 17th, 2005 - NLOG4J version 1.2.12 released
SLF4J.ORG is proud to release NLOG4J 1.2.12, a log4j-replacement
with native SLF4J API support. Except for users of LF5, chainsaw or
NTEvenAppender
, NLOG4J should be considered as a 100%
compatible, drop-in replacement for log4j version 1.2.9.
This release reflects changes in the SLF4J API, i.e renaming of
org.slf4j.ULogger
interface as
org.slf4j.Logger
.
May 17th, 2005 - SLF4J version 1.0-beta-3 released
SLF4J.ORG is proud to release SLF4J 1.0-beta-3. In response to
user comments, the org.slf4j.ULogger
interface has been
renamed as org.slf4j.Logger
.
You can download SLF4J, including full source code, class files and documentation on our download page.
May 14th, 2005 - NLOG4J version 1.2.11 released
SLF4J.ORG is proud to release NLOG4J 1.2.11, a log4j-replacement
with native SLF4J API support. Except for users of LF5, chainsaw or
NTEvenAppender
, NLOG4J should be considered as a 100%
compatible, drop-in replacement for log4j version 1.2.9.
You can download NLOG4J version 1.2.11, including full source code, class files and documentation on our download page.
May 4th, 2005 - SLF4J version 1.0-beta-2 released
SLF4J.ORG is proud to release SLF4J 1.0-beta-2. This release contains cosmetic or javadoc changes. For example, the project has a new logo.
You can download SLF4J version 1.0-beta2, including full source code, class files and documentation on our download page.
1 May 2005 - not-log4j-1.2.10 released
Subsequent to the recall of log4j 1.2.10, SLF4J.ORG releases non-log4j-1.2.10 for those interested in SLF4J support in log4j.
You can download not-log4j version 1.2.10, including full source code, class files and documentation on our download page.
22 April 2005 - SLF4J project goes live
The SLF4J project site, including SVN repositories go live. Users can download SLF4J version 1.0-beta1.
15 April 2005 - start of work on SLF4J source code
Start of work on the SLF4j source code.
13 April 2005 - start of work on SLF4J project
Launch of the SLF4J project. Work has begun on the web-site, svn repositories as well as the source code.