[ANNOUNCE] Apache Log4j 2.9.0 released

Ralph Goers <[email protected]> Wed, 30 Aug 2017 17:26:12 -0700
Newsgroups gmane.comp.apache.logging,gmane.text.xml.xalan.devel
Message-ID <B115D36D-3053-4926-8B1D-C4531F97A7A7__35363.2621387534$1504139190$gmane$org@dslextreme.com>
--Apple-Mail=_B07DAA84-583D-429B-AF9E-CC2F4880C7CC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

The Apache Log4j 2 team is pleased to announce the Log4j 2.9.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.

This release contains the first support of Java 9 as well as bugfixes =
and minor enhancements. The Log4j API was modified to use =
java.util.ServiceLoader to locate Log4j implementations, although the =
former binding mechanism is still supported. The Log4j jar is now a =
multi-release jar to provide implementations of the Java 9 specific =
classes. Multi-release jars are not supported by the OSGi specification =
so OSGi modules will not be able to take advantage of these =
implementations but will not lose functionality as they will fall back =
to the implementations used in Java 7 and 8. More details on the new =
features and fixes are itemized below.

Note that subsequent to the 2.9 release, for security reasons, =
SerializedLayout is deprecated and no longer used as default in the =
Socket and JMS appenders. SerializedLayout can still be used as before, =
but has to be specified explicitly. To retain old behaviour, you have to =
change configuration like:

<Appenders>
  <Socket name=3D"socket" host=3D"localhost" port=3D"9500"/>
</Appenders>
into:

<Appenders>
  <Socket name=3D"socket" host=3D"localhost" port=3D"9500">
    <SerializedLayout/>
  </Socket>
</Appenders>
We do, however, discourage the use of SerializedLayout and recommend =
JsonLayout as a replacement:

<Appenders>
  <Socket name=3D"socket" host=3D"localhost" port=3D"9500">
    <JsonLayout properties=3D"true"/>
  </Socket>
</Appenders>
Note that subsequent to the 2.9 release, for security reasons, Log4j =
does not process DTD in XML files. If you used DTD for including =
snippets, you have to use XInclude or Composite Configuration instead.

The Log4j 2.9.0 API, as well as many core components, maintains binary =
compatibility with previous releases.

 =
<https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES.md#ga-=
release-290>GA Release 2.9.0

Changes in this version include:

 =
<https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES.md#new=
-features>New Features

LOG4J2-2008 <https://issues.apache.org/jira/browse/LOG4J2-2008>: Support =
printing multiple StructuredData elements in RFC5424Layout.
LOG4J2-1986 <https://issues.apache.org/jira/browse/LOG4J2-1986>: Public =
API for parsing the output from JsonLayout/XmlLayout/YamlLayout into a =
LogEvent.
LOG4J2-1981 <https://issues.apache.org/jira/browse/LOG4J2-1981>: =
JsonLayout, XmlLayout and YamlLayout support 0-byte termination of log =
events.
LOG4J2-1864 <https://issues.apache.org/jira/browse/LOG4J2-1864>: Support =
capped collections for MongoDb appender. Thanks to Matthias Kappeller.
LOG4J2-1813 <https://issues.apache.org/jira/browse/LOG4J2-1813>: Log4j2 =
will now print all internal logging to the console if system property =
log4j2.debug is defined with any value (or no value).
LOG4J2-1766 <https://issues.apache.org/jira/browse/LOG4J2-1766>: =
Temporary compress directory during rollover (#88). Thanks to Pierrick =
HYMBERT.
LOG4J2-1814 <https://issues.apache.org/jira/browse/LOG4J2-1814>: Added =
wrapper classes CustomLoggerGenerator and ExtendedLoggerGenerator to =
avoid class name with a dollar ($) character which has special meaning =
in many *nix command line environments.
LOG4J2-1884 <https://issues.apache.org/jira/browse/LOG4J2-1884>: Added =
process ID (pid) pattern converter.
LOG4J2-1699 <https://issues.apache.org/jira/browse/LOG4J2-1699>: =
Configurable Log File Permissions with PosixFilePermission. Thanks to =
Demetrios Dimatos, Pierrick HYMBERT.
LOG4J2-1945 <https://issues.apache.org/jira/browse/LOG4J2-1945>: =
Generate source jas for all test jars.
LOG4J2-1934 <https://issues.apache.org/jira/browse/LOG4J2-1934>: JMS =
Appender does not know how to recover from a broken connection.
LOG4J2-1955 <https://issues.apache.org/jira/browse/LOG4J2-1955>: JMS =
Appender should be able connect to a broker (later) even it is not =
present at configuration time.
LOG4J2-1874 <https://issues.apache.org/jira/browse/LOG4J2-1874>: Added =
methods ::writeBytes(ByteBuffer) and ::writeBytes(byte[], int, int) to =
ByteBufferDestination interface and use these methods in =
TextEncoderHelper where possible to prepare for future enhancements to =
reduce lock contention. Thanks to Roman Leventov.
LOG4J2-1442 <https://issues.apache.org/jira/browse/LOG4J2-1442>: Generic =
HTTP appender.
LOG4J2-1935 <https://issues.apache.org/jira/browse/LOG4J2-1935>: Add =
with(String, primitive) methods to =
org.apache.logging.log4j.message.MapMessage.
LOG4J2-1930 <https://issues.apache.org/jira/browse/LOG4J2-1930>: Add =
forEach() methods to org.apache.logging.log4j.message.MapMessage.
LOG4J2-1932 <https://issues.apache.org/jira/browse/LOG4J2-1932>: Add =
containsKey() methods to org.apache.logging.log4j.message.MapMessage.
LOG4J2-1854 <https://issues.apache.org/jira/browse/LOG4J2-1854>: Support =
null byte delimiter in GelfLayout. Thanks to Xavier Jodoin.
LOG4J2-1359 <https://issues.apache.org/jira/browse/LOG4J2-1359>: Add =
support for Java 9 StackWalker.
LOG4J2-1880 <https://issues.apache.org/jira/browse/LOG4J2-1880>: Warn =
when a configuration file for an inactive ConfigurationFactory is found.
LOG4J2-1855 <https://issues.apache.org/jira/browse/LOG4J2-1855>: Add an =
optional random delay in TimeBasedTriggeringPolicy Thanks to Anthony =
Maire.
LOG4J2-1860 <https://issues.apache.org/jira/browse/LOG4J2-1860>: =
Shortcut to add Property and KeyValuePair component in =
ConfigurationBuilder.
LOG4J2-1294 <https://issues.apache.org/jira/browse/LOG4J2-1294>: The JMS =
Appender should use a JMS MapMessage for a Log4j MapMessage.
 =
<https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES.md#fix=
ed-bugs>Fixed Bugs

LOG4J2-1833 <https://issues.apache.org/jira/browse/LOG4J2-1833>: Prevent =
NullPointerException when a file name is specified with the =
DirectWriteRolloverStrategy.
LOG4J2-2018 <https://issues.apache.org/jira/browse/LOG4J2-2018>: Fix =
incorrect documentation for LoggerNameLevelRewritePolicy.
LOG4J2-922 <https://issues.apache.org/jira/browse/LOG4J2-922>: Parameter =
of mdcId in SyslogAppender has no default value. Thanks to angus.aqlu, =
Paul Burrowes.
LOG4J2-2001 <https://issues.apache.org/jira/browse/LOG4J2-2001>: =
StyleConverter.newInstance argument validation is incorrect. Thanks to =
Paul Burrowes.
LOG4J2-1999 <https://issues.apache.org/jira/browse/LOG4J2-1999>: =
HighlightConverter converts all unrecognized levels to DEBUG. Thanks to =
Paul Burrowes.
LOG4J2-2013 <https://issues.apache.org/jira/browse/LOG4J2-2013>: =
SslSocketManager does not apply SSLContext on TCP reconnect. Thanks to =
Taylor Patton, Gary Gregory.
LOG4J2-2016 <https://issues.apache.org/jira/browse/LOG4J2-2016>: Mark =
FileRenameAction as successful when using alternative ways to move =
files. Thanks to Benjamin Jaton.
LOG4J2-2012 <https://issues.apache.org/jira/browse/LOG4J2-2012>: No =
compression when using a separate drive in Linux. Thanks to Benjamin =
Jaton.
LOG4J2-1888 <https://issues.apache.org/jira/browse/LOG4J2-1888>: Log4j =
throws a java.nio.charset.UnsupportedCharsetException: cp65001. Thanks =
to Misagh Moayyed.
LOG4J2-1990 <https://issues.apache.org/jira/browse/LOG4J2-1990>: =
ConcurrentModificationException logging a parameter of type Map. Thanks =
to Philippe Mouawad.
LOG4J2-1311 <https://issues.apache.org/jira/browse/LOG4J2-1311>: =
SocketAppender will lose several events after re-connection to server. =
Thanks to Xibing Liang.
LOG4J2-1977 <https://issues.apache.org/jira/browse/LOG4J2-1977>: =
Consider the StringBuilder's capacity instead of content length when =
trimming. Thanks to Jerry xnslong.
LOG4J2-1971 <https://issues.apache.org/jira/browse/LOG4J2-1971>: =
Register log4j-core as an OSGi service. Skip tests for LOG4J2-1766 on =
MacOS. Use group "staff" for LOG4J2-1699 test on MacOS.
LOG4J2-1994 <https://issues.apache.org/jira/browse/LOG4J2-1994>: =
TcpSocketServer does not close accepted Sockets.
LOG4J2-1987 <https://issues.apache.org/jira/browse/LOG4J2-1987>: Log4J =
JUL Bridge and RMI Security Manager causes access denied =
("java.util.logging.LoggingPermission" "control") Thanks to Andreas =
Felder.
LOG4J2-1982 <https://issues.apache.org/jira/browse/LOG4J2-1982>: =
Log4j-config.xsd only allows one AppenderRef element for each Logger =
element. Thanks to Christoph Lembeck.
LOG4J2-1985 <https://issues.apache.org/jira/browse/LOG4J2-1985>: Fix =
default buffer size to match documentation (from 8102 to 8192 a.k.a. =
8KB.) Thanks to Kenneth McFarland.
LOG4J2-1912 <https://issues.apache.org/jira/browse/LOG4J2-1912>: =
CompositeConfiguration logs warning "Unable to determine URI for =
configuration." However, the reconfiguration is completed. Thanks to R =
Ri.
LOG4J2-1964 <https://issues.apache.org/jira/browse/LOG4J2-1964>: Dynamic =
reconfiguration does not work for filePattern of RollingFile. Thanks to =
Pierrick HYMBERT.
LOG4J2-1961 <https://issues.apache.org/jira/browse/LOG4J2-1961>: =
Reconfigure breaks DirectWriteRolloverStrategy. Thanks to Christian =
Vent.
LOG4J2-1943 <https://issues.apache.org/jira/browse/LOG4J2-1943>: The =
eventPrefix attribute was being ignored in the RFC5424Layout.
LOG4J2-1953 <https://issues.apache.org/jira/browse/LOG4J2-1953>: =
JndiManager is not released when the JmsAppender builder catches an =
exception trying to build itself.
LOG4J2-1911 <https://issues.apache.org/jira/browse/LOG4J2-1911>: Improve =
the documentation of the DynamicThresholdFilter.
LOG4J2-1929 <https://issues.apache.org/jira/browse/LOG4J2-1929>: =
EOFException with FormattedMessage. Thanks to Borys Sokolov.
LOG4J2-1948 <https://issues.apache.org/jira/browse/LOG4J2-1948>: Trim =
levels read from properties file to remove trailing spaces. Thanks to =
Michael L=C3=BCck.
LOG4J2-1971 <https://issues.apache.org/jira/browse/LOG4J2-1971>: =
ClassCastException: =
org.eclipse.osgi.internal.loader.SystemBundleLoader$1 cannot be cast to =
java.lang.ClassLoader. Thanks to liwenxian2017.
LOG4J2-1876 <https://issues.apache.org/jira/browse/LOG4J2-1876>: More =
reliable checking for runtime dependencies.
LOG4J2-1867 <https://issues.apache.org/jira/browse/LOG4J2-1867>: Fix =
configuration documentation.
LOG4J2-1858 <https://issues.apache.org/jira/browse/LOG4J2-1858>: Ensure =
the ThreadLocal StringBuilder in ParameterizedMessage won't hold =
excessively much memory after logging a long message.
LOG4J2-1885 <https://issues.apache.org/jira/browse/LOG4J2-1885>: Fix =
documentation about default additivity value for loggers.
LOG4J2-1920 <https://issues.apache.org/jira/browse/LOG4J2-1920>: =
ScriptEngineManager is not available in Android and causes a =
NoClassDefFoundError. Thanks to Ajitha.
LOG4J2-1989 <https://issues.apache.org/jira/browse/LOG4J2-1989>: Clarify =
Javadoc for AbstractTriggeringPolicy. Thanks to Kenneth McFarland.
LOG4J2-1993 <https://issues.apache.org/jira/browse/LOG4J2-1993>: Fix =
compiler warnings in LoggerConfigTest. Thanks to Kenneth McFarland.
 =
<https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES.md#cha=
nges>Changes

LOG4J2-1928 <https://issues.apache.org/jira/browse/LOG4J2-1928>: Add =
support for DirectWriteRolloverStrategy to =
RollingRandomAcessFileAppender.
LOG4J2-2022 <https://issues.apache.org/jira/browse/LOG4J2-2022>: =
RFC5424Layout now prints the process id.
LOG4J2-2020 <https://issues.apache.org/jira/browse/LOG4J2-2020>: Remove =
default layout from KafkaAppender.
LOG4J2-2023 <https://issues.apache.org/jira/browse/LOG4J2-2023>: Use a =
class' canonical name instead of name to create its logger name.
LOG4J2-2015 <https://issues.apache.org/jira/browse/LOG4J2-2015>: Allow =
KeyStoreConfiguration and TrustStoreConfiguration to find files as =
resources.
LOG4J2-2011 <https://issues.apache.org/jira/browse/LOG4J2-2011>: Replace =
JCommander command line parser with picocli to let users run Log4j2 =
utility applications without requiring an external dependency.
LOG4J2-1984 <https://issues.apache.org/jira/browse/LOG4J2-1984>: Allow =
maxLength of StructuredData to be specified by the user.
LOG4J2-1071 <https://issues.apache.org/jira/browse/LOG4J2-1071>: Allow =
for bufferSize=3D0 in SMTP appender. Thanks to Ben Ludkiewicz, Benjamin =
Jaton.
LOG4J2-1261 <https://issues.apache.org/jira/browse/LOG4J2-1261>: Async =
Loggers no longer use deprecated LMAX Disruptor APIs. (Disruptor-3.3.3 =
or higher is now required.)
LOG4J2-1908 <https://issues.apache.org/jira/browse/LOG4J2-1908>: =
Improved error message when misconfigured with multiple incompatible =
appenders targeting same file.
LOG4J2-1954 <https://issues.apache.org/jira/browse/LOG4J2-1954>: =
Configurations with multiple root loggers now fail loudly.
LOG4J2-1958 <https://issues.apache.org/jira/browse/LOG4J2-1958>: =
Deprecate SerializedLayout and remove it as default.
LOG4J2-1959 <https://issues.apache.org/jira/browse/LOG4J2-1959>: Disable =
DTD processing in XML configuration files.
LOG4J2-1950 <https://issues.apache.org/jira/browse/LOG4J2-1950>: Fix =
docker build with jdk9 requirements (#84). Thanks to Pierrick HYMBERT.
LOG4J2-1801 <https://issues.apache.org/jira/browse/LOG4J2-1801>: Add =
more detail to WARN "Ignoring log event" messages printed to the console =
after log4j was shut down.
LOG4J2-1926 <https://issues.apache.org/jira/browse/LOG4J2-1926>: =
Facilitate log4j use in Android applications: remove dependency on RMI =
and Management APIs from log4j-api.
LOG4J2-1956 <https://issues.apache.org/jira/browse/LOG4J2-1956>: JMS =
Appender broker password should be a char[], not a String.
LOG4J2-1917 <https://issues.apache.org/jira/browse/LOG4J2-1917>: Support =
using java.util.ServiceLoader to locate Log4j 2 API providers.
LOG4J2-1966 <https://issues.apache.org/jira/browse/LOG4J2-1966>: Include =
separator option of PatternLayout in manual (and other updates). Thanks =
to M Sazzadul Hoque.
LOG4J2-1851 <https://issues.apache.org/jira/browse/LOG4J2-1851>: Move =
server components from log4j-core to new log4-server module.
LOG4J2-1991 <https://issues.apache.org/jira/browse/LOG4J2-1991>: =
Refactor SimpleMessage to be concise and clear (#100) Thanks to .
LOG4J2-2017 <https://issues.apache.org/jira/browse/LOG4J2-2017>: Update =
Jackson from 2.8.9 to 2.9.0.
LOG4J2-1868 <https://issues.apache.org/jira/browse/LOG4J2-1868>: Update =
ZeroMQ's JeroMQ from 0.3.6 to 0.4.0.
LOG4J2-1960 <https://issues.apache.org/jira/browse/LOG4J2-1960>: Update =
ZeroMQ's JeroMQ from 0.4.0 to 0.4.1.
LOG4J2-1974 <https://issues.apache.org/jira/browse/LOG4J2-1974>: Update =
ZeroMQ's JeroMQ from 0.4.1 to 0.4.2.
LOG4J2-1869 <https://issues.apache.org/jira/browse/LOG4J2-1869>: Update =
Kafka client from 0.10.1.1 to 0.10.2.0
LOG4J2-1962 <https://issues.apache.org/jira/browse/LOG4J2-1962>: Update =
Kafka client from 0.10.2.0 to 0.11.0.0
LOG4J2-1872 <https://issues.apache.org/jira/browse/LOG4J2-1872>: Update =
JavaMail from 1.5.5 to 1.5.6.
LOG4J2-1879 <https://issues.apache.org/jira/browse/LOG4J2-1879>: Update =
JAnsi from 1.14 to 1.15.
LOG4J2-1877 <https://issues.apache.org/jira/browse/LOG4J2-1877>: Missing =
documentation for Max index limit in DefaultRolloverStrategy. Thanks to =
Chandra Tungathurthi.
LOG4J2-1899 <https://issues.apache.org/jira/browse/LOG4J2-1899>: Add =
missing getters to classes in package =
org.apache.logging.log4j.core.net.ssl.
LOG4J2-1900 <https://issues.apache.org/jira/browse/LOG4J2-1900>: Update =
JAnsi from 1.15 to 1.16.
LOG4J2- <https://issues.apache.org/jira/browse/LOG4J2->: Update SLF4J =
from 1.7.24 to 1.7.25.
LOG4J2-1938 <https://issues.apache.org/jira/browse/LOG4J2-1938>: Update =
Jackson from 2.8.7 to 2.8.9.
LOG4J2-1970 <https://issues.apache.org/jira/browse/LOG4J2-1970>: Update =
HdrHistogram from 2.1.8 to 2.1.9.
LOG4J2-1975 <https://issues.apache.org/jira/browse/LOG4J2-1975>: Update =
javax.persistence from 2.1.0 to 2.1.1.
LOG4J2-1976 <https://issues.apache.org/jira/browse/LOG4J2-1976>: Update =
org.osgi.core from 4.3.1 to 6.0.0.
Apache Log4j 2.9.0 requires a minimum of Java 7 to build and run. Log4j =
2.3 was the last release that supported Java 6.

Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api =
component, however it does not implement some of the very implementation =
specific classes and methods. The package names and Maven groupId have =
been changed to org.apache.logging.log4j to avoid any conflicts with =
log4j 1.x.

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/ =
<https://logging.apache.org/log4j/2.x/>=

--Apple-Mail=_B07DAA84-583D-429B-AF9E-CC2F4880C7CC
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D"">The =
Apache Log4j 2 team is pleased to announce the Log4j 2.9.0 =
release!</p><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D"">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.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D"">This release contains the =
first support of Java 9 as well as bugfixes and minor enhancements. The =
Log4j API was modified to use java.util.ServiceLoader to locate Log4j =
implementations, although the former binding mechanism is still =
supported. The Log4j jar is now a multi-release jar to provide =
implementations of the Java 9 specific classes. Multi-release jars are =
not supported by the OSGi specification so OSGi modules will not be able =
to take advantage of these implementations but will not lose =
functionality as they will fall back to the implementations used in Java =
7 and 8. More details on the new features and fixes are itemized =
below.</p><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D"">Note =
that subsequent to the 2.9 release, for security reasons, =
SerializedLayout is deprecated and no longer used as default in the =
Socket and JMS appenders. SerializedLayout can still be used as before, =
but has to be specified explicitly. To retain old behaviour, you have to =
change configuration like:</p><pre style=3D"box-sizing: border-box; =
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, =
Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: =
16px; font-variant-ligatures: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-stretch: normal; line-height: 1.45; =
word-wrap: normal; padding: 16px; overflow: auto; background-color: =
rgb(246, 248, 250); border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; color: rgb(36, 41, 46); orphans: 2; =
widows: 2;" class=3D""><code style=3D"box-sizing: border-box; =
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, =
Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; =
background-color: transparent; border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; word-break: normal; border: 0px; =
display: inline; overflow: visible; line-height: inherit; word-wrap: =
normal; background-position: initial initial; background-repeat: initial =
initial;" class=3D"">&lt;Appenders&gt;
  &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"/&gt;
&lt;/Appenders&gt;
</code></pre><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" =
class=3D"">into:</p><pre style=3D"box-sizing: border-box; font-family: =
SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; =
font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; =
font-variant-ligatures: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-stretch: normal; line-height: 1.45; =
word-wrap: normal; padding: 16px; overflow: auto; background-color: =
rgb(246, 248, 250); border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; color: rgb(36, 41, 46); orphans: 2; =
widows: 2;" class=3D""><code style=3D"box-sizing: border-box; =
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, =
Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; =
background-color: transparent; border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; word-break: normal; border: 0px; =
display: inline; overflow: visible; line-height: inherit; word-wrap: =
normal; background-position: initial initial; background-repeat: initial =
initial;" class=3D"">&lt;Appenders&gt;
  &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"&gt;
    &lt;SerializedLayout/&gt;
  &lt;/Socket&gt;
&lt;/Appenders&gt;
</code></pre><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D"">We =
do, however, discourage the use of SerializedLayout and recommend =
JsonLayout as a replacement:</p><pre style=3D"box-sizing: border-box; =
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, =
Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: =
16px; font-variant-ligatures: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-stretch: normal; line-height: 1.45; =
word-wrap: normal; padding: 16px; overflow: auto; background-color: =
rgb(246, 248, 250); border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; color: rgb(36, 41, 46); orphans: 2; =
widows: 2;" class=3D""><code style=3D"box-sizing: border-box; =
font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, =
Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; =
background-color: transparent; border-top-left-radius: 3px; =
border-top-right-radius: 3px; border-bottom-right-radius: 3px; =
border-bottom-left-radius: 3px; word-break: normal; border: 0px; =
display: inline; overflow: visible; line-height: inherit; word-wrap: =
normal; background-position: initial initial; background-repeat: initial =
initial;" class=3D"">&lt;Appenders&gt;
  &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"&gt;
    &lt;JsonLayout properties=3D"true"/&gt;
  &lt;/Socket&gt;
&lt;/Appenders&gt;
</code></pre><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D"">Note =
that subsequent to the 2.9 release, for security reasons, Log4j does not =
process DTD in XML files. If you used DTD for including snippets, you =
have to use XInclude or Composite Configuration instead.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D"">The Log4j 2.9.0 API, as well =
as many core components, maintains binary compatibility with previous =
releases.</p><h2 style=3D"box-sizing: border-box; margin-top: 24px; =
margin-bottom: 16px; line-height: 1.25; padding-bottom: 0.3em; =
border-bottom-width: 1px; border-bottom-style: solid; =
border-bottom-color: rgb(234, 236, 239); color: rgb(36, 41, 46); =
font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, =
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><a =
id=3D"user-content-ga-release-290" class=3D"anchor" =
href=3D"https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES=
.md#ga-release-290" aria-hidden=3D"true" style=3D"box-sizing: =
border-box; color: rgb(3, 102, 214); text-decoration: none; float: left; =
padding-right: 4px; margin-left: -20px; line-height: 1;"><svg =
aria-hidden=3D"true" class=3D"octicon octicon-link" height=3D"16" =
version=3D"1.1" viewBox=3D"0 0 16 16" width=3D"16"><path =
fill-rule=3D"evenodd" d=3D"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 =
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 =
1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 =
2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 =
1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 =
3-3.5S14.5 6 13 6z"></path></svg></a>GA Release 2.9.0</h2><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D"">Changes in this version =
include:</p><h3 style=3D"box-sizing: border-box; margin-top: 24px; =
margin-bottom: 16px; font-size: 1.25em; line-height: 1.25; color: =
rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', =
Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', =
'Segoe UI Symbol'; font-variant-ligatures: normal; orphans: 2; widows: =
2;" class=3D""><a id=3D"user-content-new-features" class=3D"anchor" =
href=3D"https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES=
.md#new-features" aria-hidden=3D"true" style=3D"box-sizing: border-box; =
color: rgb(3, 102, 214); text-decoration: none; float: left; =
padding-right: 4px; margin-left: -20px; line-height: 1;"><svg =
aria-hidden=3D"true" class=3D"octicon octicon-link" height=3D"16" =
version=3D"1.1" viewBox=3D"0 0 16 16" width=3D"16"><path =
fill-rule=3D"evenodd" d=3D"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 =
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 =
1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 =
2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 =
1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 =
3-3.5S14.5 6 13 6z"></path></svg></a>New Features</h3><ul =
style=3D"box-sizing: border-box; padding-left: 2em; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><li =
style=3D"box-sizing: border-box;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2008" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2008</a>: Support printing =
multiple StructuredData elements in RFC5424Layout.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1986" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1986</a>: Public API for =
parsing the output from JsonLayout/XmlLayout/YamlLayout into a =
LogEvent.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1981" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1981</a>: JsonLayout, =
XmlLayout and YamlLayout support 0-byte termination of log =
events.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1864" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1864</a>: Support capped =
collections for MongoDb appender. Thanks to Matthias Kappeller.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1813" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1813</a>: Log4j2 will now =
print all internal logging to the console if system property&nbsp;<code =
style=3D"box-sizing: border-box; font-family: SFMono-Regular, Consolas, =
&quot;Liberation Mono&quot;, Menlo, Courier, monospace; font-size: =
13.6px; padding: 0.2em 0px; margin: 0px; background-color: rgba(27, 31, =
35, 0.05); border-radius: 3px;" class=3D"">log4j2.debug</code>&nbsp;is =
defined with any value (or no value).</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1766" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1766</a>: Temporary compress =
directory during rollover (#88). Thanks to Pierrick HYMBERT.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1814" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1814</a>: Added wrapper =
classes CustomLoggerGenerator and ExtendedLoggerGenerator to avoid class =
name with a dollar ($) character which has special meaning in many *nix =
command line environments.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1884" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1884</a>: Added process ID =
(pid) pattern converter.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1699" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1699</a>: Configurable Log =
File Permissions with PosixFilePermission. Thanks to Demetrios Dimatos, =
Pierrick HYMBERT.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1945" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1945</a>: Generate source jas =
for all test jars.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1934" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1934</a>: JMS Appender does =
not know how to recover from a broken connection.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1955" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1955</a>: JMS Appender should =
be able connect to a broker (later) even it is not present at =
configuration time.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1874" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1874</a>: Added methods =
::writeBytes(ByteBuffer) and ::writeBytes(byte[], int, int) to =
ByteBufferDestination interface and use these methods in =
TextEncoderHelper where possible to prepare for future enhancements to =
reduce lock contention. Thanks to Roman Leventov.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1442" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1442</a>: Generic HTTP =
appender.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1935" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1935</a>: Add with(String, =
primitive) methods to =
org.apache.logging.log4j.message.MapMessage.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1930" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1930</a>: Add forEach() =
methods to org.apache.logging.log4j.message.MapMessage.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1932" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1932</a>: Add containsKey() =
methods to org.apache.logging.log4j.message.MapMessage.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1854" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1854</a>: Support null byte =
delimiter in GelfLayout. Thanks to Xavier Jodoin.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1359" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1359</a>: Add support for Java =
9 StackWalker.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1880" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1880</a>: Warn when a =
configuration file for an inactive ConfigurationFactory is =
found.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1855" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1855</a>: Add an optional =
random delay in TimeBasedTriggeringPolicy Thanks to Anthony =
Maire.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1860" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1860</a>: Shortcut to add =
Property and KeyValuePair component in ConfigurationBuilder.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1294" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1294</a>: The JMS Appender =
should use a JMS MapMessage for a Log4j MapMessage.</li></ul><h3 =
style=3D"box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; =
font-size: 1.25em; line-height: 1.25; color: rgb(36, 41, 46); =
font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, =
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><a =
id=3D"user-content-fixed-bugs" class=3D"anchor" =
href=3D"https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES=
.md#fixed-bugs" aria-hidden=3D"true" style=3D"box-sizing: border-box; =
color: rgb(3, 102, 214); text-decoration: none; float: left; =
padding-right: 4px; margin-left: -20px; line-height: 1;"><svg =
aria-hidden=3D"true" class=3D"octicon octicon-link" height=3D"16" =
version=3D"1.1" viewBox=3D"0 0 16 16" width=3D"16"><path =
fill-rule=3D"evenodd" d=3D"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 =
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 =
1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 =
2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 =
1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 =
3-3.5S14.5 6 13 6z"></path></svg></a>Fixed Bugs</h3><ul =
style=3D"box-sizing: border-box; padding-left: 2em; margin-top: 0px; =
margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, =
system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color =
Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><li =
style=3D"box-sizing: border-box;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1833" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1833</a>: Prevent =
NullPointerException when a file name is specified with the =
DirectWriteRolloverStrategy.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2018" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2018</a>: Fix incorrect =
documentation for LoggerNameLevelRewritePolicy.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-922" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-922</a>: Parameter of mdcId in =
SyslogAppender has no default value. Thanks to angus.aqlu, Paul =
Burrowes.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-2001" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2001</a>: =
StyleConverter.newInstance argument validation is incorrect. Thanks to =
Paul Burrowes.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1999" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1999</a>: HighlightConverter =
converts all unrecognized levels to DEBUG. Thanks to Paul =
Burrowes.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-2013" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2013</a>: SslSocketManager =
does not apply SSLContext on TCP reconnect. Thanks to Taylor Patton, =
Gary Gregory.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2016" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2016</a>: Mark =
FileRenameAction as successful when using alternative ways to move =
files. Thanks to Benjamin Jaton.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2012" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2012</a>: No compression when =
using a separate drive in Linux. Thanks to Benjamin Jaton.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1888" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1888</a>: Log4j throws a =
java.nio.charset.UnsupportedCharsetException: cp65001. Thanks to Misagh =
Moayyed.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1990" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1990</a>: =
ConcurrentModificationException logging a parameter of type Map. Thanks =
to Philippe Mouawad.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1311" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1311</a>: SocketAppender will =
lose several events after re-connection to server. Thanks to Xibing =
Liang.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1977" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1977</a>: Consider the =
StringBuilder's capacity instead of content length when trimming. Thanks =
to Jerry xnslong.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1971" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1971</a>: Register log4j-core =
as an OSGi service. Skip tests for LOG4J2-1766 on MacOS. Use group =
"staff" for LOG4J2-1699 test on MacOS.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1994" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1994</a>: TcpSocketServer does =
not close accepted Sockets.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1987" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1987</a>: Log4J JUL Bridge and =
RMI Security Manager causes access denied =
("java.util.logging.LoggingPermission" "control") Thanks to Andreas =
Felder.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1982" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1982</a>: Log4j-config.xsd =
only allows one AppenderRef element for each Logger element. Thanks to =
Christoph Lembeck.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1985" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1985</a>: Fix default buffer =
size to match documentation (from 8102 to 8192 a.k.a. 8KB.) Thanks to =
Kenneth McFarland.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1912" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1912</a>: =
CompositeConfiguration logs warning "Unable to determine URI for =
configuration." However, the reconfiguration is completed. Thanks to R =
Ri.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1964" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1964</a>: Dynamic =
reconfiguration does not work for filePattern of RollingFile. Thanks to =
Pierrick HYMBERT.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1961" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1961</a>: Reconfigure breaks =
DirectWriteRolloverStrategy. Thanks to Christian Vent.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1943" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1943</a>: The eventPrefix =
attribute was being ignored in the RFC5424Layout.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1953" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1953</a>: JndiManager is not =
released when the JmsAppender builder catches an exception trying to =
build itself.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1911" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1911</a>: Improve the =
documentation of the DynamicThresholdFilter.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1929" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1929</a>: EOFException with =
FormattedMessage. Thanks to Borys Sokolov.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1948" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1948</a>: Trim levels read =
from properties file to remove trailing spaces. Thanks to Michael =
L=C3=BCck.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1971" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1971</a>: ClassCastException: =
org.eclipse.osgi.internal.loader.SystemBundleLoader$1 cannot be cast to =
java.lang.ClassLoader. Thanks to liwenxian2017.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1876" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1876</a>: More reliable =
checking for runtime dependencies.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1867" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1867</a>: Fix configuration =
documentation.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1858" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1858</a>: Ensure the =
ThreadLocal StringBuilder in ParameterizedMessage won't hold excessively =
much memory after logging a long message.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1885" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1885</a>: Fix documentation =
about default additivity value for loggers.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1920" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1920</a>: ScriptEngineManager =
is not available in Android and causes a NoClassDefFoundError. Thanks to =
Ajitha.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1989" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1989</a>: Clarify Javadoc for =
AbstractTriggeringPolicy. Thanks to Kenneth McFarland.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1993" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1993</a>: Fix compiler =
warnings in LoggerConfigTest. Thanks to Kenneth McFarland.</li></ul><h3 =
style=3D"box-sizing: border-box; margin-top: 24px; margin-bottom: 16px; =
font-size: 1.25em; line-height: 1.25; color: rgb(36, 41, 46); =
font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, =
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><a =
id=3D"user-content-changes" class=3D"anchor" =
href=3D"https://github.com/apache/logging-log4j2/blob/master/RELEASE-NOTES=
.md#changes" aria-hidden=3D"true" style=3D"box-sizing: border-box; =
color: rgb(3, 102, 214); text-decoration: none; float: left; =
padding-right: 4px; margin-left: -20px; line-height: 1;"><svg =
aria-hidden=3D"true" class=3D"octicon octicon-link" height=3D"16" =
version=3D"1.1" viewBox=3D"0 0 16 16" width=3D"16"><path =
fill-rule=3D"evenodd" d=3D"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 =
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 =
1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 =
2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 =
1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 =
3-3.5S14.5 6 13 6z"></path></svg></a>Changes</h3><ul style=3D"box-sizing: =
border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D""><li style=3D"box-sizing: =
border-box;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1928" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1928</a>: Add support for =
DirectWriteRolloverStrategy to RollingRandomAcessFileAppender.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2022" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2022</a>: RFC5424Layout now =
prints the process id.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2020" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2020</a>: Remove default =
layout from KafkaAppender.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2023" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2023</a>: Use a class' =
canonical name instead of name to create its logger name.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2015" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2015</a>: Allow =
KeyStoreConfiguration and TrustStoreConfiguration to find files as =
resources.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-2011" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2011</a>: Replace JCommander =
command line parser with picocli to let users run Log4j2 utility =
applications without requiring an external dependency.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1984" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1984</a>: Allow maxLength of =
StructuredData to be specified by the user.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1071" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1071</a>: Allow for =
bufferSize=3D0 in SMTP appender. Thanks to Ben Ludkiewicz, Benjamin =
Jaton.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1261" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1261</a>: Async Loggers no =
longer use deprecated LMAX Disruptor APIs. (Disruptor-3.3.3 or higher is =
now required.)</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1908" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1908</a>: Improved error =
message when misconfigured with multiple incompatible appenders =
targeting same file.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1954" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1954</a>: Configurations with =
multiple root loggers now fail loudly.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1958" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1958</a>: Deprecate =
SerializedLayout and remove it as default.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1959" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1959</a>: Disable DTD =
processing in XML configuration files.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1950" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1950</a>: Fix docker build =
with jdk9 requirements (#84). Thanks to Pierrick HYMBERT.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1801" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1801</a>: Add more detail to =
WARN "Ignoring log event" messages printed to the console after log4j =
was shut down.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1926" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1926</a>: Facilitate log4j use =
in Android applications: remove dependency on RMI and Management APIs =
from log4j-api.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1956" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1956</a>: JMS Appender broker =
password should be a char[], not a String.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1917" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1917</a>: Support using =
java.util.ServiceLoader to locate Log4j 2 API providers.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1966" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1966</a>: Include separator =
option of PatternLayout in manual (and other updates). Thanks to M =
Sazzadul Hoque.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1851" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1851</a>: Move server =
components from log4j-core to new log4-server module.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1991" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1991</a>: Refactor =
SimpleMessage to be concise and clear (#100) Thanks to .</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-2017" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-2017</a>: Update Jackson from =
2.8.9 to 2.9.0.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1868" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1868</a>: Update ZeroMQ's =
JeroMQ from 0.3.6 to 0.4.0.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1960" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1960</a>: Update ZeroMQ's =
JeroMQ from 0.4.0 to 0.4.1.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1974" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1974</a>: Update ZeroMQ's =
JeroMQ from 0.4.1 to 0.4.2.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1869" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1869</a>: Update Kafka client =
from 0.10.1.1 to 0.10.2.0</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1962" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1962</a>: Update Kafka client =
from 0.10.2.0 to 0.11.0.0</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1872" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1872</a>: Update JavaMail from =
1.5.5 to 1.5.6.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1879" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1879</a>: Update JAnsi from =
1.14 to 1.15.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1877" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1877</a>: Missing =
documentation for Max index limit in DefaultRolloverStrategy. Thanks to =
Chandra Tungathurthi.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1899" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1899</a>: Add missing getters =
to classes in package org.apache.logging.log4j.core.net.ssl.</li><li =
style=3D"box-sizing: border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1900" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1900</a>: Update JAnsi from =
1.15 to 1.16.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-</a>: Update SLF4J from 1.7.24 =
to 1.7.25.</li><li style=3D"box-sizing: border-box; margin-top: 0.25em;" =
class=3D""><a href=3D"https://issues.apache.org/jira/browse/LOG4J2-1938" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1938</a>: Update Jackson from =
2.8.7 to 2.8.9.</li><li style=3D"box-sizing: border-box; margin-top: =
0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1970" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1970</a>: Update HdrHistogram =
from 2.1.8 to 2.1.9.</li><li style=3D"box-sizing: border-box; =
margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1975" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1975</a>: Update =
javax.persistence from 2.1.0 to 2.1.1.</li><li style=3D"box-sizing: =
border-box; margin-top: 0.25em;" class=3D""><a =
href=3D"https://issues.apache.org/jira/browse/LOG4J2-1976" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" class=3D"">LOG4J2-1976</a>: Update org.osgi.core =
from 4.3.1 to 6.0.0.</li></ul><hr style=3D"box-sizing: content-box; =
height: 0.25em; overflow: hidden; margin: 24px 0px; background-color: =
rgb(225, 228, 232); border: 0px; padding: 0px; color: rgb(36, 41, 46); =
font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, =
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; =
font-size: 16px; font-variant-ligatures: normal; orphans: 2; widows: 2; =
background-position: initial initial; background-repeat: initial =
initial;" class=3D""><p style=3D"box-sizing: border-box; margin-top: =
0px; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: =
-apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, =
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: =
16px; font-variant-ligatures: normal; orphans: 2; widows: 2;" =
class=3D"">Apache Log4j 2.9.0 requires a minimum of Java 7 to build and =
run. Log4j 2.3 was the last release that supported Java 6.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D"">Basic compatibility with =
Log4j 1.x is provided through the log4j-1.2-api component, however it =
does not implement some of the very implementation specific classes and =
methods. The package names and Maven groupId have been changed to =
org.apache.logging.log4j to avoid any conflicts with log4j 1.x.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2;" class=3D"">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:</p><div style=3D"box-sizing: border-box; margin-top: 0px; =
color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe =
UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI =
Emoji', 'Segoe UI Symbol'; font-size: 16px; font-variant-ligatures: =
normal; orphans: 2; widows: 2; margin-bottom: 0px !important;" =
class=3D""><a href=3D"https://logging.apache.org/log4j/2.x/" =
style=3D"box-sizing: border-box; color: rgb(3, 102, 214); =
text-decoration: none;" =
class=3D"">https://logging.apache.org/log4j/2.x/</a></div></body></html>=

--Apple-Mail=_B07DAA84-583D-429B-AF9E-CC2F4880C7CC--