This is a vote to release Log4j 2.13.1, the next version of the Log4j 2 project.
Please download, test, and cast your votes on the log4j developers list.
[] +1, release the artifacts
[] -1, don't release because...
The vote will remain open for 72 hours (or more if required). All votes are
welcome and we encourage everyone to test the release, but only Logging PMC
votes are “officially” counted. As always, at least 3 +1 votes and more
positive than negative votes are required.
Changes in this release include:
New Features
• LOG4J2-2748: Implement ISO8601_PERIOD_MICROS fixed date format
matching ISO8601_PERIOD with support for microsecond precision.
Fixed Bugs
• LOG4J2-2717: Slow initialization on Windows due to accessing network
interfaces.
• LOG4J2-2756: Prevent LoggerContext from being garbage collected while
being created.
• LOG4J2-2769: Do not log an error if Files.move does not work.
• LOG4J2-2039: Rollover fails when file matches pattern but index is
too large.
• LOG4J2-2784: Counter stuck at 10 and overwriting files when leading
zeros used in the file pattern count.
• LOG4J2-2746: ClassLoaderContextSelector was not locating the
LoggerContext during shutdown.
• LOG4J2-2652: JSON output wrong when using additonal fields.
• LOG4J2-2649: GraalVM does not allow use of MethodHandles.
• LOG4J2-2211: Allow Lookup keys with leading dashes by using a slash
as an escape character.
• LOG4J2-2781: ServletContainerInitializer was obtaining the
StatusLogger too soon. Thanks to qxo.
• LOG4J2-2676: PluginProcessor should use Messager instead of
System.out. Thanks to Gregg Donovan.
• LOG4J2-2703: MapMessage.getFormattedMesssage() would incorrectly
format objects. Thanks to Volkan Yazici.
• LOG4J2-2760: Always write header on a new OutputStream. Thanks to
Christoph Kaser.
• 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.
• LOG4J2-2758: NullPointerException when using a custom
DirectFileRolloverStrategy without a file name. Thanks to Christoph Kaser.
• LOG4J2-2768: Add mulit-parameter overloads to LogBuilder. Thanks to
Marius Volkhart.
• LOG4J2-2770: Fixed NullPointerException after reconfiguring via JMX.
Thanks to Bill Kuker.
• LOG4J2-2759: RollingFileAppender was not rolling on startup if
createOnDemand was set to true.
• LOG4J2-2767: Warn if pattern is missing on Routes element. Use
default route.
• LOG4J2-2415: Fix lock contention in the classloader using new
versions of slf4j without EventData on slf4j logger creation. Thanks to Andrey
Turbanov.
• LOG4J2-2677: Rollover handles parallel file deletion gracefully.
• LOG4J2-2744: Remove unnecessary EventLogger references from
log4j-slf4j18-impl due to removal from slf4j.
• LOG4J2-2747: Fix a memory leak using fully asynchronous logging when
the queue is full using the 'discard' asynchronous queue full strategy.
• 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.
• LOG4J2-2735: PluginCache output is reproducible allowing the
annotation processor to produce deterministic results. Thanks to Andy Wilkinson.
• LOG4J2-2751: Fix StackLocator.getCallerClass performance in cases
where Reflection.getCallerClass is not accessible.
• LOG4J2-2752: MutableLogEvent and RingBufferLogEvent avoid
StringBuffer and parameter array allocation unless reusable messages are used.
• LOG4J2-2754: LoaderUtil.getClassLoaders may discover additional
loaders and no longer erroneously returns a result with a null element in some
environments.
• LOG4J2-2575: CronExpression.getBeforeTime() would sometimes return
incorrect result. Thanks to Nathan Friess.
• LOG4J2-2762: [JDBC] MS-SQL Server JDBC driver throws
SQLServerException when inserting a null value for a VARBINARY column.
• LOG4J2-2770: NullPointerException after reconfiguring via JMX. Thanks
to Bill Kuker.
Changes
• LOG4J2-2789: Conditionally perform status logging calculations in
PluginRegistry. Thanks to Marius Volkhart.
• LOG4J2-2782: Use LinkedBlockingQueue instead of synchronized
collction in StatusConfiguration.
• LOG4J2-2777: Add a retry count attribute to the KafkaAppender. Thanks
to joongs4.
• LOG4J2-2745: Update log4j-slf4j18-impl slf4j version to 1.8.0-beta4
from 1.8.0-alpha2.
• LOG4J2-2763: Update dependencies.
Tag:
a) for a new copy do "git clone https://github.com/apache/logging-log4j2.git"
and then "git checkout tags/log4j-2.13.1-rc2”
b) for an existing working copy to “git pull” and then “git checkout
tags/log4j-2.13.1-rc2”
Web Site: http://rgoers.github.io/log4j2-site/index.html.
Maven Artifacts:
https://repository.apache.org/content/repositories/orgapachelogging-1055
Distribution archives: https://dist.apache.org/repos/dist/dev/logging/log4j/
You may download all the Maven artifacts by executing:
wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate
https://repository.apache.org/content/repositories/orgapachelogging-1055/org/apache/logging/log4j/
Ralph