The Apache Logging team is pleased to announce the Apache log4j 2.0-beta3
release!
Apache log4j is a well known framework for logging application behavior. Log4j
2 is an upgrade to
Log4j that provides significant improvements over its predecessor, Log4j 1.x,
and provides
many of the improvements available in Logback while fixing some inherent
problems in Logback's
architecture.
This is the fifth release of Log4j 2 and is being made available to encourage
use and feedback from the community\\
Changes in this version include:
New features:
o LOG4J2-28: Added PropertiesRewritePolicy and ability to define properties on
a Logger.
o LOG4J2-55: Added ability to configure from an InputSource.
Fixed Bugs:
o LOG4J2-108: Fix NullPointerException in ClassLoaderContextSelector when no
class is returned from
the SecurityManager.
o LOG4J2-107: PatternParser was not properly handling adjacent nested options
o LOG4J2-95: Add support for loading plugins inside the OSGi bundle.
o LOG4J2-103: The LogEvent was wrapping a ThrowableProxy with another
ThrowableProxy when deserializing. Thanks to Das Archive.
o LOG4J2-104: Convert LogManager binding to use "regular" java properties
instead of XML properties to workaround a
bug in Oracle's xmlparserv2 jar.
o LOG4J2-102: The Facility value was being improperly calculated. Thanks to
Emanuele Colombo.
o LOG4J2-101: A NullPointerException would occur if no format value was passed
to the SyslogAppender. Thanks to Emanuele Colombo.
o LOG4J2-99: MapRewritePolicy had an extra call to putAll that caused updates
to behave like adds. Thanks to Das Archive.
o Avoid NPE when duplicate LoggerContextFactorys are present. Allow factories
to specify a weight to allow
real implementations to outrank test implementations. Provide a simple
default LoggerContextFactory.
o LOG4J2-97: Added several missing classes and methods for Log4j 1.x
compatibility.
o LOG4J2-94: Interpolator was not stripping Lookup key separator when trying
to locate the default value for a variable. Thanks to Denis Treskunov.
o Log4j 1.2 Category.forcedLog was wrapping the message with an ObjectMessage
even if the parameter was an
ObjectMessage.
Changes:
o LOG4J2-105: Add ability to customize the names of the Levels in the
LevelPatternConverter.
o LOG4J2-85: Add ThreadContext.push(String format, Object... args)
o Created combined jar to combine API and Core contents for users who only want
the Log4j implementation.
o LOG4J2-87: Build pdf of user's guide.
o LOG4J2-29: Added font and fontSize parameters to HTMLLayout. Replace
newlines in message with br tag.
Apache Log4j 2.0-beta2 requires a minimum of Java 5 to build and run. Basic
compatibility with
Log4j 1.x is provided through the log4j12-api component, however it does not
implement some of the
very implementation specific classes and methods. The package names and Maven
groupId have been changed to
org.apache.logging.log4j to avoid any conflicts with log4j 1.x.
For complete information on Apache Log4j 2, including instructions on how to
submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Log4j 2 website:
http://logging.apache.org/log4j/2.x/