The Apache Log4j 2 team is pleased to announce the Log4j 2.6.1 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 other modern features such as support for Markers, property substitution
using Lookups, multiple patterns on
a PatternLayout and asynchronous Loggers. In addition, Log4j 2 will not lose
events while reconfiguring.
This is the eleventh GA release. It is primarily a bugfix release. More details
on the fixes are itemized below.
Note that subsequent to the 2.6 release a minor source incompatibility was
found due to the addition of new methods to
the Logger interface. If you have code that does:
logger.error(null, “This is the log message”, throwable);
or similar with any log level you will get a compiler error saying the
reference is ambiguous. To correct this either do:
logger.error(“This is the log message”, throwable);
or
logger.error((Marker) null, “This is the log message”, throwable);
Log4j 2.6 maintains binary compatibility with previous releases.
GA Release 2.6.1
Changes in this version include:
New features:
o LOG4J2-1411: Add documentation about plugin builders compared to factories.
Fixed Bugs:
o LOG4J2-1405: OnStartupTriggeringPolicy was forcing a rollover of empty files
at startup and would append a
second footer that was added by the prior shutdown.
o LOG4J2-1406: Fixed bug in ReusableParameterizedMessage where Throwable was
never updated so first error was logged over
and over again and subsequent errors were not logged. Thanks to Trask
Stalnaker.
o LOG4J2-1409: Fixed ArrayIndexOutOfBoundsException that may occur in
ReusableParameterizedMessage. Thanks to Shahan.
o LOG4J2-997: Add filter and remove filter were not working properly in
AbstractFilterable. Thanks to Maytee Chinavanichkit.
o LOG4J2-1032: Change RenameAction to use java.nio to better report rename
failures.
o LOG4J2-1407: Misleading WARN log events from Log4j about message factories
and unexpected formatting. Thanks to Gary Gregory.
o LOG4J2-1408: The module log4j-liquibase is missing from BOM POM. Thanks to
Gary Gregory.
o LOG4J2-1180: Logger cache does not account for message factory. Thanks to
Gary Gregory.
o LOG4J2-1402: Fix regression in properties configuration to support arbitrary
component ids.
Changes:
o LOG4J2-1385: (GC) CSV layouts should not create a new CSVPrinter for each
log event. Requires Apache Commons CSV 1.4.
o LOG4J2-1398: Update liquibase-core from 3.4.2 to 3.5.1.
o LOG4J2-1399: Update Apache Commons CSV from 1.3 to 1.4.
Apache Log4j 2.6.1 requires a minimum of Java 7 to build and run. Log4j 2.3 was
the last release that
supported Java 6.
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/