The Apache Log4j 2 team is pleased to announce the Log4j 2.20.0 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, lambda expressions for lazy logging, property substitution using 
Lookups, multiple patterns on a PatternLayout and asynchronous Loggers. Another 
notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating 
temporary objects) while logging. In addition, Log4j 2 will not lose events 
while reconfiguring.

The artifacts may be downloaded from 
https://logging.apache.org/log4j/2.x/download.html.

This release primarily contains bug fixes and minor enhancements.

Due to a break in compatibility in the SLF4J binding, Log4j now ships with two 
versions of the SLF4J to Log4j adapters. log4j-slf4j-impl should be used with 
SLF4J 1.7.x and earlier and log4j-slf4j2-impl should be used with SLF4J 2.x and 
later. SLF4J-1.8.x is no longer supported as there were never any GA versions 
of that. Note that while log4j-slf4j-impl has a dependency on slf4j 1.7.25 in 
order to not break compatibility for users, newer versions of SLF4J 1.7 may be 
used instead.

The Log4j 2.20.0 API, as well as many core components, maintains binary 
compatibility with previous releases.

Apache Log4j 2.20.0 requires a minimum of Java 8 to build and run. Log4j 2.12.4 
is the last release to support Java 7. Log4j 2.3.2 is the last release to 
support Java 6. Java 6 and Java 7 are no longer supported by the Log4j team.

For complete information on Apache Log4j 2, including instructions on how to 
submit bug reports, patches, or suggestions for improvement, see the Apache 
Log4j 2 website - https://logging.apache.org/log4j/2.x/.

Changes

Added
    • Add support for timezones in RollingFileAppender date pattern (for 
LOG4J2-1631 by Piotr P. Karwasz, Danas Mikelinskas)
    • Add LogEvent timestamp to ProducerRecord in KafkaAppender (for 
LOG4J2-2678 by Piotr P. Karwasz, Federico D’Ambrosio)
    • Add PatternLayout support for abbreviating the name of all logger 
components except the 2 rightmost (for LOG4J2-2785 by Ralph Goers, Markus Spann)
    • Removes internal field that leaked into public API. (for LOG4J2-3615 by 
Piotr P. Karwasz)
    • Add a LogBuilder#logAndGet() method to emulate the Logger#traceEntry 
method. (for LOG4J2-3645 by Piotr P. Karwasz)

Changed
    • Simplify site generation (for 1166 by Volkan Yazıcı
    • Switch the issue tracker from JIRA to GitHub Issues (for 1172 by Volkan 
Yazıcı)
    • Remove liquibase-log4j2 maven module (for 1193 by StevenMassaro)
    • Fix order of stacktrace elements, that causes cache misses in 
ThrowableProxyHelper. (for 1214 by alex-dubrouski, Piotr P. Karwasz)
    • Switch from com.sun.mail to Eclipse Angus. (for LOG4J2-3554 by Oleh 
Astappiev, Piotr P. Karwasz)
    • Add Log4j2 Core as default runtime dependency of the SLF4J2-to-Log4j2 API 
bridge. (for LOG4J2-3601 by afs, Piotr P. Karwasz)
    • Replace maven-changes-plugin with a custom changelog implementation (for 
LOG4J2-3628 by Volkan Yazıcı)

Deprecated
    • Deprecate support for package scanning for plugins (for LOG4J2-3644 by 
Ralph Goers)

Fixed
    • Copy programmatically supplied location even if includeLocation="false". 
(for 1197 by Piotr P. Karwasz)
    • Eliminate status logger warning, when disableAnsi or noConsoleNoAnsi is 
used the style and highlight patterns. (for 1202 by wleese, Piotr P. Karwasz)
    • Fix detection of location requirements in RewriteAppender. (for 1274 by 
amirhadadi, Piotr P. Karwasz)
    • Replace regex with manual code to escape characters in Rfc5424Layout. 
(for 1277 by adwsingh)
    • Fix java.sql.Time object formatting in MapMessage (for LOG4J2-2297 by 
Ralph Goers)
    • Fix previous fire time computation in CronTriggeringPolicy (for 
LOG4J2-3357 by Ralph Goers)
    • Correct default to not include location for AsyncRootLoggers (for 
LOG4J2-3487 by Ralph Goers, Dave Messink)
    • Lazily evaluate the level of a SLF4J LogEventBuilder (for LOG4J2-3598 by 
Piotr P. Karwasz)
    • Fixes priority of Legacy system properties, which are now back to having 
higher priority than Environment variables. (for LOG4J2-3615 by adwsingh, Piotr 
P. Karwasz)
    • Protects ServiceLoaderUtil from unchecked ServiceLoader exceptions. (for 
LOG4J2-3624 by Piotr P. Karwasz)
    • Fix Configurator#setLevel for internal classes (for LOG4J2-3631 by Piotr 
P. Karwasz, Jeff Thomas)
    • Fix level propagation in Log4jBridgeHandler (for LOG4J2-3634 by Piotr P. 
Karwasz, Marcel Koch)
    • Disable OsgiServiceLocator if not running in OSGI container. (for 
LOG4J2-3642 by adwsingh, Piotr P. Karwasz)
    • When using a Date Lookup in the file pattern the current time should be 
used. (for LOG4J2-3643 by Ralph Goers)
    • Fixed LogBuilder filtering in the presence of global filters. (for 
LOG4J2-3647 by Piotr P. Karwasz)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to