March 26th, 2013Performance improvements:
· The logger factories in most SLF4J modules namely in jcl-over-slf4j, log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and slf4j-simple now use a ConcurrentHashMap instead of a regular HashMap to cache logger instances. This change significantly improves logger retrieval times at the cost of some memory overhead. This improvement was requested in bug #298 by Taras Tielkes who also provided the relevant patch.
March 19th, 2013· Added a package private reset() method to SimpleLoggerFactory for testing purposes.
March 15th, 2013· The jul-to-slf4j bridge now correctly handles cases where the message string contains {}-placeholders but has no or zero parameters. This fixes bug #212. The relevant patch was provided by Matthew Preston in a git pull request.
· Added missing methods and classes in log4j-over-slf4j module for Velocity compatibility. This isssue was reported in bug 280 by Thomas Mortagne.
October 12th, 2012· Added osgi-over-slf4j module which serves as an OSGi LogService implementation delegating to slf4j. This module is maintained by Matt Bishop and Libor Jelinek.
· Christian Trutz added missing PatternLayout class as well as several methods in the Logger and Category classes. See commit 442e90ba5785cba9 dated September 27th 2012 for details.
· Added org.slf4j.simpleLoggerwarnLevelString in slf4j-simple module.
· Fixed bug 272. All Logger implementations shipping with SLF4J use Object... instead of Object[] to avoid compiler warnings.
September 21st, 2012· SimpleLogger now supports writing to a file. The property names for configuring SimpleLogger have been modified to be consistently in camel case. More configuration options have been added. In the absence of configuration directives, SimpleLogger will behave exactly the same as in the past. If you are one of the few users configuring SimpleLogger with configuration properties, you will need to adapt to the new and more consistent property names.
September 7th, 2012· Printing methods in the Logger interface now offers variants accepting varargs instead of Object[]. Given that under the hood, the Java compiler transforms varargs into an array, this change is totally 100% no-ifs-or-buts backward compatible with all existing client code.
· The logger field (of type java.util.logging.Logger) in JDK14LoggerAdapter is now marked as transient. This fixes bug #261, a serialization problem reported by Thorbjørn Ravn Andersen.
July 30th, 2012· In case multiple bindings are found on the class path, SLF4J will now output the name of the framework/implementation class it binds with.
· SimpleLogger now supports configuration properties.
· LoggerWrapper in the slf4j-ext module now correctly deals with markers. This fixes bug #265 reported by Dario Campagna.
· The log4j-over-slf4j module now supports legacy projects providing their own log4j LoggerFactory. This fixes bug #234 reported by Laurent Pellegrino with Piotr Jagielski providing the appropriate patch.