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);
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: