This is a vote to release Log4j 2.0-rc2, which will hopefully be the last
release candidate.
Please note that I did not add the new logo to the web site. I will add that
after the release.
Please test and cast your votes.
[] +1, release the artifacts
[] -1, don't release becauseā¦
The vote will remain open for 72 hours (or more if required).
New features:
o LOG4J2-675: RollingFile and RollingRandomAccessFile now write the layout
footer before rollover.
o LOG4J2-674: Made RollingFileAppender buffer size configurable.
o LOG4J2-42: Create an appender to route log events to the ServletContext log.
o LOG4J2-655: Add Vagrantfile for testing in GNU+Linux.
o LOG4J2-654: Add log4j-perf module to provide a home for all log4j
performance tests.
Add support for JMH microbenchmark performance tests.
o LOG4J2-652: Add support for default plugin values and attributes.
o LOG4J2-598: Add support for types other than String for plugin factory
values/attributes.
o LOG4J2-644: Implement a SecureSocketAppender and secure server (SSL/TLS).
o LOG4J2-629: Document the system properties used in Log4J 2.
o LOG4J2-595: Introduce Java annotation processor as alternative plugin
pre-caching mechanism. This is available in the
log4j-plugin-processor module.
o LOG4J2-576: Add org.apache.logging.log4j.Logger.getLevel().
o LOG4J2-439: Add EncodingPatternConverter to escape newlines and HTML special
characters. Thanks to Bruce Brouwer.
o LOG4J2-427: Add support for configuration via YAML. Thanks to Alexander
Reelsen.
Fixed Bugs:
o LOG4J2-581: RollingRandomAccessFile now writes the layout header after
rollover. Thanks to Alexander Khokhlov.
o LOG4J2-622: RollingFileManager now correctly honours the bufferedIO
configuration after rollover. Thanks to Farooq Khan.
o LOG4J2-141: Improved documentation regarding log4j status logger. Thanks to
Joern Huxhorn.
o LOG4J2-539: Fixed issue with "Reconfigure using XML below" function in JMX
Client GUI.
ConfigurationSource is now a top-level class and can be obtained with
Configuration.getConfigurationSource().
LoggerContext.getConfiguration().getConfigurationSource()
provides a reliable public method for obtaining a logger context's
configuration location and content. Thanks to Colin Froggatt.
o LOG4J2-619: Invalid XML configuration files do not prevent the config file
from being checked again. Thanks to Scott Harrington.
o LOG4J2-637: JMX: Updating a Logger's level via jConsole now correctly takes
effect. Thanks to Mansoor Sajjad, Jon Wilmoth.
o LOG4J2-668: Correctly process log events when combining AsyncLoggers with
AsyncAppender.
o LOG4J2-669: Prevent NPE when combining AsyncLoggers with AsyncLoggerConfigs.
o LOG4J2-563: FlumeAvroManager now always uses a client type of
default_failover. Thanks to Michael Friedmann.
o LOG4J2-535: Reset rollover time when size rollover is triggered.
o LOG4J2-664: Moved plugin cache file to META-INF for OSGi compatibility.
o LOG4J2-640: Fix NPE that can be caused by a null ThreadContextClassLoader.
o LOG4J2-651: Log4j 2 throws ArrayIndexOutOfBoundsException.
o LOG4J2-620: Perform reconfiguration in a separate thread to prevent
deadlocks.
o LOG4J2-639: Prevent NPE in AsyncLogger and AsyncLoggerConfig if logger is
used after log4j has been shut down. Thanks to Mck SembWever.
o LOG4J2-469: FailoverAppender was not resetting its status after the primary
appender recovered.
o LOG4J2-623: Generate MDC properties as a JSON map in JSONLayout.
o LOG4J2-520: Resolved issue where AsyncAppender dropped events if queue still
contained
events when application is stopped. Thanks to JavaTech, Andre Bogus.
o LOG4J2-392: Resolved a problem with the previous solution for LOG4J2-392
that resulted in dropped events
when using AsyncLoggerConfig with slow appenders when application is
stopped. Thanks to Andre Bogus.
o LOG4J2-613: The OSGi version of log4j-web imports Servlet 2.5 at minimum
instead of 3.0.
o LOG4J2-602: Unit tests are now less verbose during the build process.
o LOG4J2-570: Fix shutdown thread memory leak in servlet containers.
o LOG4J2-542: Make Throwable transient in ThrowableProxy.
o LOG4J2-440: During shutdown, a NullPointerException could be thrown due to
the NullConfiguration class no longer being
available to the ClassLoader.
o LOG4J2-346: Cyclic dependency with log4j-slf4j-impl in OSGi.
o LOG4J2-345: The log4j-1.2-api module didn't export any packages to OSGi.
o LOG4J2-605: Password data from the NoSQL plugins no longer shows up in
cleartext in debug logging.
o LOG4J2-448: A StringIndexOutOfBounds exception could occur during property
substitution. Thanks to X86core.
o LOG4J2-597: StatusLogger was not skipping multiple instances of the FQCN
class, causing messages from classes in
the Verbose list to be printed.
o LOG4J2-564: Renamed SLF4J logger class to Log4jLogger.
o LOG4J2-579: Rework Level comparison APIs.
o LOG4J2-560: SyslogAppenderTest and RFC5424LayoutTest were failing in Java 8.
o LOG4J2-499: Add equals and hashcode to Log4jLogEvent.
o LOG4J2-378: Add DateLookup and ThreadContextLookup to default lookups.
Changes:
o LOG4J2-419: Support default value for missing key in look ups with
fallbacking to looking in the properties map. Thanks to Woonsan Ko.
o LOG4J2-554: Allow configuration files to be located as Servlet Context
resources.
o LOG4J2-250: Refactor Log4jLogEvent to lazily create ThrowableProxy.
o LOG4J2-647: Upgrade to Flume 1.5.0.
o LOG4J2-646: Merge the TLS Syslog appender into the Syslog appender.
o LOG4J2-641: Override commons-logging dependency version in tests.
o LOG4J2-566: Made RollingRandomAccessFileAppender buffer size configurable.
Thanks to Luigi Alice.
o LOG4J2-628: Use Clock to generate all log event timestamps, not just for
Async Loggers.
o LOG4J2-617: Update SLF4J to 1.7.7.
o LOG4J2-616: Update Jackson to 2.3.3.
o LOG4J2-585: Add support for multiple parents to Markers. Thanks to Bruce
Brouwer.
o LOG4J2-574: Make Blocking the default WaitStrategy for Async Loggers.
o LOG4J2-555: Introduce ExtendedLogger interface to facilitate implementing
and extending Loggers. Thanks to Bruce Brouwer.
o LOG4J2-561: Allow spaces around commas in Configuration's package attribute.
Thanks to vibin.
o LOG4J2-547: Have Logger API expose a PrintWriter instead of custom
LoggerStream. Thanks to Bruce Brouwer.
o LOG4J2-496: Allow header and footer to be specified as lookup patterns in
PatternLayout.
o LOG4J2-410: SLf4JLogger is now Serializable. Thanks to Ivlin Zeng.
o LOG4J2-468: Add support to add a LoggerConfig. Document two ways to modify
the configuration.
o LOG4J2-582: Rename org.apache.logging.log4j.core.net.SocketServer to
TCPSocketServer and refactor with UDP.
o LOG4J2-592: Update Jackson to 2.3.2 from 2.2.2.
Tag: https://svn.apache.org/repos/asf/logging/log4j/log4j2/tags/log4j-2.0-rc2/
SVN revision: 1604493
Web Site: http://people.apache.org/~rgoers/log4j2/
Artifacts:
https://repository.apache.org/content/repositories/orgapachelogging-1003
Nexus did not send an email. The list of artifacts can be found at the link
above.