[ANNOUNCEMENT] Log4j2 2.13.1 released
Ralph Goers <[email protected]> Sun, 1 Mar 2020 13:01:08 -0700
| Newsgroups | gmane.comp.apache.logging,gmane.comp.apache.deltacloud.devel,gmane.comp.jakarta.log4j.user |
|---|---|
| Message-ID | <[email protected]> |
The Apache Log4j 2 team is pleased to announce the Log4j 2.13.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, 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 bugfixes and very 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-slf4j18-impl = should be used with SLF4J 1.8.x and later. Note that the XML, JSON and YAML formats changed in the 2.11.0 release: = they no longer have the "timeMillis" attribute and instead have an = "Instant" element with "epochSecond" and "nanoOfSecond" attributes. The Log4j 2.13.1 API, as well as many core components, maintains binary = compatibility with previous releases. GA Release 2.13.1 Changes in this version include: New Features =E2=80=A2 LOG4J2-2748: Implement ISO8601_PERIOD_MICROS fixed = date format matching ISO8601_PERIOD with support for microsecond = precision. Fixed Bugs =E2=80=A2 LOG4J2-2717: Slow initialization on Windows due to = accessing network interfaces. =E2=80=A2 LOG4J2-2756: Prevent LoggerContext from being garbage = collected while being created. =E2=80=A2 LOG4J2-2769: Do not log an error if Files.move does = not work. =E2=80=A2 LOG4J2-2039: Rollover fails when file matches pattern = but index is too large. =E2=80=A2 LOG4J2-2784: Counter stuck at 10 and overwriting files = when leading zeros used in the file pattern count. =E2=80=A2 LOG4J2-2746: ClassLoaderContextSelector was not = locating the LoggerContext during shutdown. =E2=80=A2 LOG4J2-2652: JSON output wrong when using additonal = fields. =E2=80=A2 LOG4J2-2649: GraalVM does not allow use of = MethodHandles. =E2=80=A2 LOG4J2-2211: Allow Lookup keys with leading dashes by = using a slash as an escape character. =E2=80=A2 LOG4J2-2781: ServletContainerInitializer was obtaining = the StatusLogger too soon. Thanks to qxo. =E2=80=A2 LOG4J2-2676: PluginProcessor should use Messager = instead of System.out. Thanks to Gregg Donovan. =E2=80=A2 LOG4J2-2703: MapMessage.getFormattedMesssage() would = incorrectly format objects. Thanks to Volkan Yazici. =E2=80=A2 LOG4J2-2760: Always write header on a new = OutputStream. Thanks to Christoph Kaser. =E2=80=A2 LOG4J2-2776: An error message in RollingFileAppender = uses a placeholder for the name but does not specify the name argument = in the logging call Thanks to Christoph Kaser. =E2=80=A2 LOG4J2-2758: NullPointerException when using a custom = DirectFileRolloverStrategy without a file name. Thanks to Christoph = Kaser. =E2=80=A2 LOG4J2-2768: Add mulit-parameter overloads to = LogBuilder. Thanks to Marius Volkhart. =E2=80=A2 LOG4J2-2770: Fixed NullPointerException after = reconfiguring via JMX. Thanks to Bill Kuker. =E2=80=A2 LOG4J2-2759: RollingFileAppender was not rolling on = startup if createOnDemand was set to true. =E2=80=A2 LOG4J2-2767: Warn if pattern is missing on Routes = element. Use default route. =E2=80=A2 LOG4J2-2415: Fix lock contention in the classloader = using new versions of slf4j without EventData on slf4j logger creation. = Thanks to Andrey Turbanov. =E2=80=A2 LOG4J2-2677: Rollover handles parallel file deletion = gracefully. =E2=80=A2 LOG4J2-2744: Remove unnecessary EventLogger references = from log4j-slf4j18-impl due to removal from slf4j. =E2=80=A2 LOG4J2-2747: Fix a memory leak using fully = asynchronous logging when the queue is full using the 'discard' = asynchronous queue full strategy. =E2=80=A2 LOG4J2-2739: Fix erroneous log4j-jul recursive logger = detection resulting in some no-op JUL loggers and 'WARN Recursive call = to getLogger' being reported by the status logger. =E2=80=A2 LOG4J2-2735: PluginCache output is reproducible = allowing the annotation processor to produce deterministic results. = Thanks to Andy Wilkinson. =E2=80=A2 LOG4J2-2751: Fix StackLocator.getCallerClass = performance in cases where Reflection.getCallerClass is not accessible. =E2=80=A2 LOG4J2-2752: MutableLogEvent and RingBufferLogEvent = avoid StringBuffer and parameter array allocation unless reusable = messages are used. =E2=80=A2 LOG4J2-2754: LoaderUtil.getClassLoaders may discover = additional loaders and no longer erroneously returns a result with a = null element in some environments. =E2=80=A2 LOG4J2-2575: CronExpression.getBeforeTime() would = sometimes return incorrect result. Thanks to Nathan Friess. =E2=80=A2 LOG4J2-2762: [JDBC] MS-SQL Server JDBC driver throws = SQLServerException when inserting a null value for a VARBINARY column. =E2=80=A2 LOG4J2-2770: NullPointerException after reconfiguring = via JMX. Thanks to Bill Kuker. Changes =E2=80=A2 LOG4J2-2789: Conditionally perform status logging = calculations in PluginRegistry. Thanks to Marius Volkhart. =E2=80=A2 LOG4J2-2782: Use LinkedBlockingQueue instead of = synchronized collction in StatusConfiguration. =E2=80=A2 LOG4J2-2777: Add a retry count attribute to the = KafkaAppender. Thanks to joongs4. =E2=80=A2 LOG4J2-2745: Update log4j-slf4j18-impl slf4j version = to 1.8.0-beta4 from 1.8.0-alpha2. =E2=80=A2 LOG4J2-2763: Update dependencies. Apache Log4j 2.13.1 requires a minimum of Java 8 to build and run. Log4j = 2.3 was the last release that supported Java 6 and Log4j 2.11.2 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/=