This is a vote to release Log4j 2.5, 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 version include:
New features:
o LOG4J2-435: Added support for custom delete actions triggered by a rollover.
Thanks to Robert Schaft.
o LOG4J2-89: Allow rollover to occur at any time. Add CronTriggeringPolicy.
o LOG4J2-1136: Add support for JSR 223 scripts in filters and the
PatternSelector.
o LOG4J2-1168: Add getters for source and destination file in file rename
action. Thanks to Steven Swor.
o LOG4J2-1175: Add getters for classes in
org.apache.logging.log4j.core.appender.rolling.action.
o LOG4J2-898: Added system property to allow users to control whether messages
should be formatted in the background.
o LOG4J2-1178: Support use-case for JDBC's
CommonDataSource.setLogWriter(PrintWriter) and
java.sql.DriverManager.setLogWriter(PrintWriter).
o LOG4J2-1187: Support use case for
java.sql.DriverManager.setLogStream(PrintStream).
Fixed Bugs:
o LOG4J2-324: Reduced memory usage of status messages in bounded queue;
support zero-length queue that stores no messages.
o LOG4J2-1173: Fixed rollover error when copying to a directory mapped to a
remote Linux host.
o LOG4J2-1195: Make KafkaAppender support SerializedLayout. Thanks to Melvin
Du.
o LOG4J2-381: Allow triggering policy and rollover strategy to be modified
during reconfiguration. Thanks to Anthony Baldocchi.
o LOG4J2-1029: Performance improvement when gathering location information.
Thanks to Stefan Leonhartsberger.
o LOG4J2-1172: Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using
AsyncLoggerContextSelector.
o LOG4J2-1176: Fixed memory leak when log4j jars are in Tomcat's lib folder.
o LOG4J2-1180: Logger cache does not account for message factory. Thanks to
Mikael Ståldal.
o LOG4J2-879: Documentation: fixed minor issues with the site and manual pages.
o LOG4J2-999: RollingFileAppender should also roll over when log event time is
equal to rollover time, not only when later. Thanks to Joan Balagueró.
o LOG4J2-873: Fixed bug where omitting the <display-name> element in web.xml
caused incorrect log4j initialization,
resulting in memory leaks when the web application was stopped or
reloaded. Thanks to Martin Dickins, LC, Luke Woodward.
o LOG4J2-323: Better web app support for async loggers: Fixed a memory leak
that occurred when the logging jars are placed
in the container's classpath and the configuration file uses
AsyncRoot/AsyncLogger.
The problem was that the first web application started the Disruptor
background thread [AsyncLoggerConfig-1] but did not stop it until all web apps
are stopped.
Each web application now has its own Disruptor which is stopped/started
together with the web app.
o LOG4J2-493: Better web app support for async loggers: it is now possible to
place the logging jars in the container's
classpath when making all loggers asynchronous by using
AsyncLoggerContextSelector. This fixes a problem where
logging would stop working after stopping and restarting a web
application.
o LOG4J2-1171: Use servlet context name for logger context name when available.
o LOG4J2-1159: Fixed a ThreadLocal memory leak in Tomcat8 that mentions
AsyncLoggers when Async Loggers are not used.
o LOG4J2-1166: AbstractConfiguration executor should use a DaemonThreadFactory.
o LOG4J2-1165: Improve Log4j initialization status messages.
o LOG4J2-1156: Web site corrections and updates.
o LOG4J2-1158: Log4J JUL adapter is using MessageFormat on String passed by
java.util.function.Supplier<String>. Thanks to Michael Fortin, Gary Gregory.
o LOG4J2-801: org.apache.logging.log4j.core.Logger should be serializable.
o LOG4J2-1157: Fix compilation error for classes annotated with @Plugin.
Thanks to Norbert Bartels.
o LOG4J2-948: Fix plugin documentation error about Converters. Thanks to
Andrew Flower.
o LOG4J2-1193: Prefix all thread names Log4j creates with "Log4j2-".
o LOG4J2-1194: Documentation does not match parameters for
LoggerNameLevelRewritePolicy. Thanks to Adam Brin.
o LOG4J2-1196: MongoDbConnection does not close MongoClient. Thanks to René
Zanner.
Changes:
o LOG4J2-649: Add PurgePolicy and IdlePurgePolicy to RoutingAppender. Thanks
to Aleksey Zvolinsky.
o LOG4J2-1202: Remove ConfigurationMonitor. The WatchManager is now used to
check for configuration changes.
o LOG4J2-1174: Update Jackson from 2.6.2 to 2.6.3.
o LOG4J2-1207: Update kafka-clients from 0.8.2.2 to 0.9.0.0.
Tag:
https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=tree;hb=eb814337c4f62b81ef5ba892fe4482466583ff80
<https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=tree;hb=eb814337c4f62b81ef5ba892fe4482466583ff80>
a) for a new copy do "git clone
https://git-wip-us.apache.org/repos/asf/logging-log4j2.git
<https://git-wip-us.apache.org/repos/asf/logging-log4j2.git>" and then "git
checkout tags/log4j-2.5-rc1”
b) for an existing working copy to “git pull” and then “git checkout
tags/log4j-2.5-rc1”
Web Site: http://people.apache.org/~rgoers/log4j2/
<http://people.apache.org/~rgoers/log4j2/>
Artifacts:
https://repository.apache.org/content/repositories/orgapachelogging-1017
<https://repository.apache.org/content/repositories/orgapachelogging-1017>
You may download all the artifacts by executing:
wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate
https://repository.apache.org/content/repositories/orgapachelogging-1017/org/apache/logging/log4j/
<https://repository.apache.org/content/repositories/orgapachelogging-1017/org/apache/logging/log4j/>
Ralph