The Apache Logging team is pleased to announce the Apache log4j 2.0-beta2 
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 fourth release of Log4j 2 and is being made available to encourage 
use and feedback from the community.

Bug fixes and enhancements

Changes in this version include:

New features:
o LOG4J2-35:  Add interval and modulate options to TimeBasedTriggeringPolicy to 
allow more fine-grained control of
        when file rolling should occur. 
o LOG4J2-58:  Add support for filtering packages from stack traces. 
o LOG4J2-84:  If system property "disableThreadContextStack" is set pushes to 
the ThreadContext will be ignored. If
        system property "disableThreadContext" is set both puts and pushes will 
be ignored. 
o LOG4J2-83:  If system property "disableThreadContextMap" is set puts to the 
ThreadContext will be ignored. If
        system property "disableThreadContext" is set both puts and pushes will 
be ignored. 
o Add support for ANSI colors by adding the highlight and style pattern 
converters. Fix pattern
        parsing to allow nested patterns. 
o Allow the status logging to be directed to stderr or to a file. 
o Add getFormats to MultiformatMessage and allow StructuredDataMessage to 
format as XML. 

Fixed Bugs:
o DefaultConfiguration was not starting the Console Appender. 
o LOG4J2-92:  Converted DynamicThresholdFilter to use KeyValuePair. Fixed bugs 
in the Map-based filters
        to allow declaration of multiple values for a key to match the 
documentation. 
o LOG4J2-88:  Many logging methods in AbstractLogger were set to an incorrect 
logging level. catching was
        using the THROWING marker and was set to debug instead of error. 
o LOG4J2-91:  Log4j 1.2 adapter's Category class was missing 3 log methods. 
o LOG4J2-84:  If the ThreadContext stack is empty the LogEvent will contain a 
null value to reduce the overhead of
        creating log events and in the size of the serialized object. Changed 
the ThreadContext stack to use
        a custom stack interface instead of java.util.Stack as that class is 
overly heavy. This change will
        cause an API incompatibility. 
o LOG4J2-83:  If the ThreadContext map is empty the LogEvent will contain a 
null value to reduce the overhead of creating
        log events and in the size of the serialized object. 
o LOG4J2-90:  Add documentation on client vs server mode to performance page. 
o Move variable substitution from PatternLayout to appropriate converters to 
improve performance. 

Changes:
o Made ParameterizedMessage, StringFormattedMessage and ThreadDumpMessage 
immutable. LocalizedMessage is
        immutable except that it will be updated with the logger name when it 
is added to the LogEvent. 

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/

Reply via email to