
              Apache Log4j 2.0-beta5 RELEASE NOTES

The Apache Log4j 2 team is pleased to announce the Log4j 2.0-beta5 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 seventh 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-207:  Add JMX support. Thanks to Remko Popma. 
o LOG4J2-187:  Add tag library. Thanks to Nick Williams. 
o LOG4J2-164:  Add methods is/setEndOfBatch to LogEvent. Thanks to Remko Popma. 
o LOG4J2-163:  Add support for asynchronous loggers. Thanks to Remko Popma. 
o LOG4J2-179:  Add Logger interface APIs to log at given levels. 
o Added FlumePersistentManager which writes to BerkeleyDB and then writes to Flume asynchronously. 
o LOG4J2-155:  Expose file appender configuration details via an advertisement mechanism. 

Fixed Bugs:
o LOG4J2-205:  Fix deadlock in SocketAppender. Added option to not wait for socket reconnect. 
o LOG4J2-211:  Removing extra spaces in entry and exit method output. Thanks to Nick Williams. 
o LOG4J2-212:  Loggers without a "." had no parent logger. 
o LOG4J2-212:  Call LoggerContext.stop when the application is shutdown. 
o LOG4J2-210:  MapMessage was not enclosing key value in quotes when generating XML. Thanks to Arkin Yetis. 
o LOG4J2-198:  FlumeAvroManager now uses Flume RPCClient. 
o LOG4J2-196:  FlumeAvroManager now uses Flume RPCClient. 
o LOG4J2-207:  Use the Maven group ID org.apache.logging.log4j for all artifacts. 
o LOG4J2-195:  Unit tests now create files in the target directory. Thanks to Remko Popma. 
o LOG4J2-193:  RollingFastFileAppender (in log4j-async) did not roll over. Thanks to Remko Popma. 
o LOG4J2-199:  Highlight subprojects in sub-navigation. Thanks to Remko Popma. 
o LOG4J2-200:  LoggerContext method renamed to removeFilter from removeFiler. Thanks to Remko Popma. 
o LOG4J2-194:  ThrowableFormatOptionsTest failed on Windows due to CR/LF issue. Thanks to Remko Popma. 
o LOG4J2-190:  BaseConfiguration addLoggerAppender saved appender using the Logger name. Thanks to Werner. 
o LOG4J2-189:  The blocking parameter did not work properly on AsynchAppender. Thanks to Werner. 
o LOG4J2-188:  appender-refs on AsynchAppender didn't support the level and filter elements. Thanks to Werner. 
o LOG4J2-176:  Avoid IllegalArgumentException in AsynchAppender. Thanks to Remko Popma. 
o LOG4J2-181:  OutputStreamManager now adds the layout header whenever the OutputStream is set. 
o LOG4J2-177:  Fix NullPointerException in DatagramOutputStream when flush is called from multiple threads. Thanks to Remko Popma. 
o LOG4J2-175:  Plugin cache should be reset when addPackages is called. 
o LOG4J2-159:  Add Fragment-Host to MANIFEST.MF for log4j2-core. Thanks to Jan Winter. 
o LOG4J2-167:  Configurator throws a ClassCastException if LogManager returns a SimpleLoggerContext. 
o LOG4J2-169:  ConfigurationFactory was adding factories on every call. 
o LOG4J2-161:  Modify ClassLoaderContextSelector to use the first ClassLoader in the child parent hierarchy that
        has a Context with a configuration to allow JSPs to use the WebApp's context and configuration. 

Changes:
o LOG4J2-214:  Async documentation update. Thanks to Remko Popma. 
o LOG4J2-208:  Move async subproject into core. Thanks to Remko Popma. 
o LOG4J2-160:  Move Throwable pattern converter options processing to ThrowableFormatOptions class. Thanks to Joanne Polsky. 
o LOG4J2-157:  Allowed Loggers access to the properties in the LoggerConfig. Thanks to Remko Popma. 
o LOG4J2-153:  Added ability to include or exclude location information. Thanks to Remko Popma. 
o LOG4J2-151:  Allow Logger and LoggerContext to be subclassed. Thanks to Remko Popma. 


Apache Log4j 2.0-beta5 requires a minimum of Java 6 to build and run. Basic compatibility with
Log4j 1.x is provided through the log4j-1.2-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/


