[ANNOUNCEMENT] Log4j 2.14.0 released
Ralph Goers <[email protected]> Tue, 10 Nov 2020 22:52:01 -0700
| Newsgroups | gmane.comp.apache.logging,gmane.comp.jakarta.log4j.user |
|---|---|
| Message-ID | <[email protected]> |
The Apache Log4j 2 team is pleased to announce the Log4j 2.14.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 contains a new Layout, JsonTemplateLayout, that is intended = to ultimately replace JsonLayout. As its name suggests it uses a = template to define the elements to include in the JSON. This Layout was = contributed by the author of the log4j2-logstash-layout at GitHub, and = who is now a member of the Log4j community. Log4j 2.14.0 adds support for MongoDB 4 and removes support for MongoDB = 2. This release also contains a number of bug fixes which are listed below. 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-slf4j18-impl = should be used with SLF4J 1.8.x and later. The Log4j 2.14.0 API, as well as many core components, maintains binary = compatibility with previous releases. GA Release 2.14.0 Changes in this version include: New Features =E2=80=A2 LOG4J2-2957: Add JsonTemplateLayout. =E2=80=A2 LOG4J2-2848: Create module log4j-mongodb4 to use new = major version 4 MongoDB driver. =E2=80=A2 LOG4J2-2858: More flexible configuration of the = Disruptor WaitStrategy. Thanks to Stepan Gorban. Fixed Bugs =E2=80=A2 LOG4J2-2925: Fix broken link in FAQ. =E2=80=A2 LOG4J2-2911: Log4j2EventListener in = spring.cloud.config.client listens for wrong event. =E2=80=A2 LOG4J2-2919: Call ReliabilityStrategy's = beforeStopAppenders() method before stopping AsyncAppender. Thanks to = Geng Yuanzhe. =E2=80=A2 LOG4J2-2906: Fix UnsupportedOperationException when = initializing the Log4j2CloudConfigLoggingSystem. Thanks to Stephen = Joyner. =E2=80=A2 LOG4J2-2908: Move Spring Lookup and Spring = PropertySource to its own module. =E2=80=A2 LOG4J2-2910: Log4j-web should now stores the servlet = context as a map entry instead of in the single external context field. =E2=80=A2 LOG4J2-2822: Javadoc link in ThreadContext description = was incorrect. =E2=80=A2 LOG4J2-2894: Fix spelling error in log message. =E2=80=A2 LOG4J2-2901: Missing configuration files should be = ignored when creating a composite configuration. =E2=80=A2 LOG4J2-2883: When using DirectFileRolloverStrategy the = file pattern was not being recalculated on size based rollover after a = time based rollover had occurred. =E2=80=A2 LOG4J2-2875: Rollover was failing to create = directories when using a DirectFileeRolloverStrategy. =E2=80=A2 LOG4J2-2859: Fixed typos where mergeFactory should be = mergeStrategy. Thanks to Yanming Zhou. =E2=80=A2 LOG4J2-2832: Correct class name printed in error = message in RollingFileAppender. Thanks to Benjamin Asbach. =E2=80=A2 LOG4J2-2882: Support java.util.logging filters when = using that API. Thanks to Emmanuel Bourg. =E2=80=A2 LOG4J2-2880: Create StackWalker benchmark. Revert back = to StackWalker.walk based on benchmark results. =E2=80=A2 LOG4J2-2867: Obtain ContextDataProviders = asynchronously. =E2=80=A2 LOG4J2-2877: Determine the container id to obtain = container and image information. =E2=80=A2 LOG4J2-2844: Null pointer exception when no network = interfaces are available. =E2=80=A2 LOG4J2-2895: Fix potential deadlock in asynchronous = logging by avoiding blocking for queue space on Log4jThreads =E2=80=A2 LOG4J2-2837: Disruptor and JUL no longer recursively = start the AsyncLoggerDisruptor resulting in an extra disruptor = background thread constantly waiting. =E2=80=A2 LOG4J2-2867: RingBufferLogEventTranslator uses a = static ContextDataInjector instead of initializing a new object on each = thread. =E2=80=A2 LOG4J2-2898: Avoid initializing volatile fields with = default values. Thanks to Turbanov Andrey. =E2=80=A2 LOG4J2-2899: Fix log4j-1.2-api LogEventWrapper = threadId and priority accessors when called multiple times. =E2=80=A2 LOG4J2-2939: Fix NPE in MDCContextMap on 'contains' = and 'isEmpty' invocations. Thanks to Constantin Hirsch. =E2=80=A2 LOG4J2-2954: Prevent premature garbage collection of = shutdown hooks in DefaultShutdownCallbackRegistry. Thanks to Henry Tung. Changes =E2=80=A2 LOG4J2-2889: Add date pattern support for HTML layout. = Thanks to Geng Yuanzhe. =E2=80=A2 LOG4J2-2892: Allow GelfLayout to produce newline = delimited events. Thanks to Jakub Lukes. =E2=80=A2 : Update MongoDB tests to require Java 8 = unconditionally now that Log4j requires Java 8. =E2=80=A2 : Update mongodb3.version from 3.12.1 to 3.12.6. =E2=80=A2 : Update com.fasterxml.jackson.* 2.10.2 -> 2.11.0. =E2=80=A2 : Update org.apache.activemq:activemq-broker 5.15.11 = -> 5.16.0. =E2=80=A2 : Update org.apache.commons:commons-compress 1.19 -> = 1.20. =E2=80=A2 : Update org.apache.commons:commons-csv 1.7 -> 1.8. =E2=80=A2 : Update org.apache.commons:commons-lang3 3.9 -> 3.10. =E2=80=A2 : Update org.codehaus.groovy:* 2.5.6 -> 3.0.5. =E2=80=A2 : Update tests junit:junit 4.12 -> 4.13. =E2=80=A2 : Update tests commons-io:commons-io 2.6 -> 2.7. =E2=80=A2 : Update jackson 2.11.0 -> 2.11.2. =E2=80=A2 : Update tests hsqldb 2.5.0 -> 2.5.1. Removed =E2=80=A2 LOG4J2-2851: Drop log4j-mongodb2 module. Apache Log4j 2.14.0 requires a minimum of Java 8 to build and run. Log4j = 2.12.1 is the last release to support Java 7. 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: https://logging.apache.org/log4j/2.x/=