Re: [ANNOUNCEMENT] (Corrected) Apache Log4j 2.11.0 released

Remko Popma <[email protected]> Sat, 17 Mar 2018 02:57:23 +0000 (UTC)
Newsgroups gmane.comp.jakarta.log4j.user,gmane.comp.apache.incubator.bigtop.devel,gmane.comp.apache.logging
Message-ID <490936056.2258524.1521255443422__18251.5120170594$1521255576$gmane$org@mail.yahoo.com>
------=_Part_2258523_76742860.1521255443419
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

 Blogged:=C2=A0Log4j 2.11 released : Apache Logging Services

|=20
|=20
|  |=20
Log4j 2.11 released : Apache Logging Services


 |

 |

 |



Please share on social media!
    On Saturday, March 17, 2018, 9:49:22 AM GMT+9, Ralph Goers <ralph.goers=
@dslextreme.com> wrote: =20
=20
 The Apache Log4j 2 team is pleased to announce the Log4j 2.11.0 release!
=20
Apache Log4j is a well known framework for logging application behavior. Lo=
g4j 2 is an upgrade to Log4j that provides significant improvements over it=
s predecessor, Log4j 1.x, and provides many other modern features such as s=
upport for Markers, lambda expressions for lazy logging, property substitut=
ion using Lookups, multiple patterns on a PatternLayout and asynchronous Lo=
ggers. Another notable Log4j 2 feature is the ability to be "garbage-free" =
(avoid allocating temporary objects) while logging. In addition, Log4j 2 wi=
ll not lose events while reconfiguring.
=20
This release contains new features, bugfixes and minor enhancements.
=20
As of Log4j 2.9.0, the Log4j API was modified to use java.util.ServiceLoade=
r to locate Log4j implementations, although the former binding mechanism is=
 still supported. The Log4j API jar is now a multi-release jar to provide i=
mplementations of Java 9 specific classes. Multi-release jars are not suppo=
rted by the OSGi specification so OSGi modules will not be able to take adv=
antage of these implementations but will not lose functionality as they wil=
l fall back to the implementations used in Java 7 and 8. More details on th=
e new features and fixes are itemized below. Note that some tools are not c=
ompatible with multi-release jars and may fail trying to process class file=
s in the META-INF/versions/9 folder. Those errors should be reported to the=
 tool vendor.
=20
Note that subsequent to the 2.9.0 release, for security reasons, Serialized=
Layout is deprecated and no longer used as default in the Socket and JMS ap=
penders. SerializedLayout can still be used as before, but has to be specif=
ied explicitly. To retain old behaviour, you have to change configuration l=
ike:
=20
<Appenders>
=C2=A0 <Socket name=3D"socket" host=3D"localhost" port=3D"9500"/>
</Appenders>
into:
=20
<Appenders>
=C2=A0 <Socket name=3D"socket" host=3D"localhost" port=3D"9500">
=C2=A0=C2=A0=C2=A0 <SerializedLayout/>
=C2=A0 </Socket>
</Appenders>
We do, however, discourage the use of SerializedLayout and recommend JsonLa=
yout as a replacement:
=20
<Appenders>
=C2=A0 <Socket name=3D"socket" host=3D"localhost" port=3D"9500">
=C2=A0=C2=A0=C2=A0 <JsonLayout properties=3D"true"/>
=C2=A0 </Socket>
</Appenders>
Note that the XML, JSON and YAML formats changed in the 2.11.0 release: the=
y no longer have the "timeMillis" attribute and instead have an "Instant" e=
lement with "epochSecond" and "nanoOfSecond" attributes.
=20
Note that subsequent to the 2.9.0 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.
=20
The Log4j 2.11.0 API, as well as many core components, maintains binary com=
patibility with previous releases with the following exceptions to Log4j Co=
re. Log4j 2.11.0 moves code from log4j-core to several new Maven modules. D=
ependencies to other jars that used to be optional in log4j-core are now re=
quired in the new modules. The code in these modules have been repackaged. =
These changes do not affect your configuration files.
=20
The new modules are:
=20
log4j-jdbc-dbc2
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Group ID: org.apache.logging.log4j
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Artifact ID: log4j-jdbc-dbc2
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Old package: org.apache.logging.log4j.core.app=
ender.db.jdbc
=C2=A0=C2=A0=C2=A0 =E2=80=A2 New package: org.apache.logging.log4j.jdbc.app=
ender
=20
log4j-jpa
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Group ID: org.apache.logging.log4j
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Artifact ID: log4j-jpa
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Old package 1: org.apache.logging.log4j.core.a=
ppender.db.jpa
=C2=A0=C2=A0=C2=A0 =E2=80=A2 New package 1: org.apache.logging.log4j.jpa.ap=
pender
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Old package 2: org.apache.logging.log4j.core.a=
ppender.db.jpa.converter
=C2=A0=C2=A0=C2=A0 =E2=80=A2 New package 2: org.apache.logging.log4j.jpa.co=
nverter
=20
log4j-mongodb2
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Group ID: org.apache.logging.log4j
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Artifact ID: log4j-mongodb2
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Old package: org.apache.logging.log4j.mongodb
=C2=A0=C2=A0=C2=A0 =E2=80=A2 New package: org.apache.logging.log4j.mongodb2
=20
log4j-mongodb3
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Group ID: org.apache.logging.log4j
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Artifact ID: log4j-mongodb3
=C2=A0=C2=A0=C2=A0 =E2=80=A2 Old package: org.apache.logging.log4j.mongodb
=C2=A0=C2=A0=C2=A0 =E2=80=A2 New package: org.apache.logging.log4j.mongodb3
=20
GA Release 2.11.0
=20
Changes in this version include:
=20
New Features
LOG4J2-2253: Add API to enable iterating over message parameters without cr=
eating temporary objects. Thanks to Carter Kozak.
LOG4J2-1883: Added support for precise (micro and nanosecond) timestamps wh=
en running on Java 9. A limited number of precise %d date formats are suppo=
rted with PatternLayout. POTENTIAL BREAKING CHANGE: The XML, JSON and YAML =
formats have changed: they no longer have the "timeMillis" attribute and in=
stead have an "Instant" element with "epochSecond" and "nanoOfSecond" attri=
butes. Thanks to Anthony Maire.
LOG4J2-2190: Output JSON object for ObjectMessage in JsonLayout. Thanks to =
Franz Wong.
LOG4J2-2191: Made log4j-core a multi-release ("multi-version") jar, added l=
og4j-core-java9 module.
LOG4J2-2143: Add missing converters to PatternLayout.
LOG4J2-2160: Add API org.apache.logging.log4j.core.lookup.Interpolator.getS=
trLookupMap().
LOG4J2-2179: The MongoDB Appender should use a keys and values for a Log4j =
MapMessage.
LOG4J2-2180: Add a MongoDbProvider builder for and deprecate org.apache.log=
ging.log4j.mongodb.MongoDbProvider.createNoSqlProvider().
LOG4J2-2181: The JDBC Appender should use keys and values from a Log4j MapM=
essage.
LOG4J2-2185: Add a simple JDBC DriverManager-based ConnectionSource that us=
es JDBC's DriverManager#getConnection(String, String, String).
LOG4J2-2186: Add a JDBC ConnectionSource that provides pooling through Apac=
he Commons DBCP 2.
LOG4J2-2187: Add a hook for a Connection Source for a JDBC Appender to rele=
ase its resources.
LOG4J2-2203: Add org.apache.logging.log4j.core.util.WatchManager#unwatch(Fi=
le).
LOG4J2-2206: Add method org.apache.logging.log4j.core.util.WatchManager.res=
et(File) and reset().
LOG4J2-2208: Add debug logging to org.apache.logging.log4j.mongodb.MongoDbC=
onnection.
Fixed Bugs
LOG4J2-2271: Move module-info.class to META-INF/versions/9 directory.
LOG4J2-2254: Incorrect automatics module name header was being included in =
manifests.
LOG4J2-2247: NullPointerException would occur when header was provided to a=
 Layout on RollingRandingAccessFileAppender with DirectWriteRolloverStrateg=
y.
LOG4J2-2129: Log4j2 throws NoClassDefFoundError in Java 9 in java.util.Serv=
iceLoader. Thanks to Blazej Bucko.
LOG4J2-2158: Fixed bug where ThreadContext map was cleared, resulting in en=
tries being only available for one log event. Thanks to Bj=C3=B6rn Kautler.
LOG4J2-2002: Avoid null attribute values in DefaultConfigurationBuilder. Th=
anks to Paul Burrowes.
LOG4J2-2175: Fix typo in Property Substitution docs. Thanks to Behrang Saee=
dzadeh.
LOG4J2-2163: Allow SortedArrayStringMap to be filtered upon deserialization=
. Fix build error in Java 9 when compiling log4j-core test classes.
LOG4J2-2157: Don't create exit message in traceExit(R) when logging is disa=
bled. Thanks to Malte Skoruppa.
LOG4J2-2123: DefaultMergeStrategy did not merge filters on loggers correctl=
y. Thanks to Jacob Tolar.
LOG4J2-2126: Removed compile-time dependency on Java Management APIs from L=
og4J API module to improve compatibility with Android Platform which does n=
ot support JMX extensions. Thanks to Oleg Kalnichevski.
LOG4J2-2270: Strings::join, when called with [null] returns "null" instead =
of EMPTY. Thanks to Cyril Martin.
LOG4J2-2276: ConcurrentModificationException from org.apache.logging.log4j.=
status.StatusLogger.<clinit>(StatusLogger.java:71). Thanks to Sean Baxter.
LOG4J2-2274: Allow EnvironmentPropertySource to run with a SecurityManager =
that rejects environment variable access. Thanks to Sebastien Lannez.
LOG4J2-2279: Allow SystemPropertiesPropertySource to run with a SecurityMan=
ager that rejects system property access. Thanks to Gary Gregory.
Changes
LOG4J2-2273: Documentation fix in manual page for custom configurations. Th=
anks to Bruno P. Kinoshita.
LOG4J2-2252: Reusable LogEvents now pass the original format string to down=
stream components like layouts and filters. Thanks to Carter Kozak.
LOG4J2-2250: The internal status logger timestamp format is now configurabl=
e with system property log4j2.StatusLogger.DateFormat.
LOG4J2-2236: Removed unnecessary dependency on jcommander since Log4j uses =
embedded picocli since 2.9.
LOG4J2-2146: Update version of maven bundle plugin to 3.4.0. Convert bundle=
 plugin error to a warning.
LOG4J2-2215: Reduce compiler warnings in log4j-api.
LOG4J2-2127: Removed unnecessary threadlocal StringBuilder field from MdcPa=
tternConverter. Thanks to Carter Kozak.
LOG4J2-2194: Require Java 9 to compile the log4j-perf module to allow bench=
marking with Java 9 APIs.
LOG4J2-2193: Update JMH to version 1.19 from 1.1.1.
LOG4J2-2132: Update ZeroMQ's jeromq from 0.4.2 to 0.4.3.
LOG4J2-2165: Update Jackson from 2.9.2 to 2.9.3.
LOG4J2-2184: Update MongoDB driver from 3.0.4 to 3.6.1.
LOG4J2-2197: Document default property value support. Thanks to Fabrice Dau=
gan.
LOG4J2-2198: Update MongoDB dependencies from classic to modern.
LOG4J2-2204: org.apache.logging.log4j.core.util.WatchManager.getWatchers() =
should pre-allocate its new Map.
LOG4J2-2209: Rename existing MongoDb plugin and related artifacts from Mong=
oDb to MongoDb2.
LOG4J2-2210: Fix error log message for Script which says ScriptFile instead=
. Thanks to Bj=C3=B6rn Kautler.
LOG4J2-2212: Unnecessary contention in CopyOnWriteSortedArrayThreadContextM=
ap. Thanks to Daniel Feist, Gary Gregory.
LOG4J2-2213: Unnecessary contention in GarbageFreeSortedArrayThreadContextM=
ap. Thanks to Daniel Feist, Gary Gregory.
LOG4J2-2214: Unnecessary contention in DefaultThreadContextMap. Thanks to D=
aniel Feist, Gary Gregory.
LOG4J2-2182: NullPointerException at org.apache.logging.log4j.util.Activato=
r.loadProvider(Activator.java:81) in log4j 2.10.0. Thanks to liwenxian2017,=
 Gary Gregory.
LOG4J2-2202: MarkerFilter onMismatch invalid attribute in .properties. Than=
ks to Kilian, Gary Gregory.
LOG4J2-2219: Configuration builder classes should look for "onMismatch", no=
t "onMisMatch". Thanks to Kilian, Gary Gregory.
LOG4J2-2205: New module log4j-mongodb3: Remove use of deprecated MongoDB AP=
Is and code to the Java driver version 3 API. Thanks to Gary Gregory.
LOG4J2-2188: Split off JPA support into a new module log4j-jpa. Thanks to G=
ary Gregory.
LOG4J2-2229: Update Jackson from 2.9.3 to 2.9.4. Thanks to Gary Gregory.
LOG4J2-2243: Cannot see or copy all of certain JAnsi exception messages on =
Windows due to NUL characters. Thanks to Gary Gregory.
LOG4J2-2245: Update Apache Commons Compress from 1.15 to 1.16.1. Thanks to =
Gary Gregory.
LOG4J2-2259: Update MongoDB 3 module from driver 3.6.1 to 3.6.3.
LOG4J2-2260: [SMTP] Update javax.mail from 1.6.0 to 1.6.1.
LOG4J2-2264: Update JAnsi from 1.16 to 1.17.
=20
Apache Log4j 2.11.0 requires a minimum of Java 7 to build and run. Log4j 2.=
3 was the last release that supported Java 6.
=20
Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api co=
mponent, however it does not implement some of the very implementation spec=
ific classes and methods. The package names and Maven groupId have been cha=
nged to org.apache.logging.log4j to avoid any conflicts with log4j 1.x.
=20
For complete information on Apache Log4j 2, including instructions on how t=
o submit bug reports, patches, or suggestions for improvement, see the Apac=
he Apache Log4j 2 website:
=20
https://logging.apache.org/log4j/2.x/


 =20
------=_Part_2258523_76742860.1521255443419
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html xmlns=3D"http://www.w3.org/1999/xhtml" xmlns:v=3D"urn:schemas-microso=
ft-com:vml" xmlns:o=3D"urn:schemas-microsoft-com:office:office"><head><!--[=
if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>=
96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><bo=
dy><div style=3D"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;f=
ont-size:16px;"><div></div>
            <div>Blogged:&nbsp;<a href=3D"https://blogs.apache.org/logging/=
entry/log4j-2-11-released" rel=3D"nofollow" target=3D"_blank" class=3D"enha=
ncr_card_2218773182">Log4j 2.11 released : Apache Logging Services</a></div=
><div><br></div><div id=3D"ydp237e8fd2enhancr_card_2218773182" class=3D"ydp=
237e8fd2yahoo-link-enhancr-card ydp237e8fd2yahoo-link-enhancr-not-allow-cov=
er ydp237e8fd2ymail-preserve-class ydp237e8fd2ymail-preserve-style" style=
=3D"max-width:400px;font-family:&quot;Helvetica Neue&quot;, &quot;Segoe UI&=
quot;, Helvetica, Arial, sans-serif;" data-url=3D"https://blogs.apache.org/=
logging/entry/log4j-2-11-released" data-type=3D"YENHANCER" data-size=3D"MED=
IUM" contenteditable=3D"false"><a href=3D"https://blogs.apache.org/logging/=
entry/log4j-2-11-released" style=3D"text-decoration:none !important;color:#=
000 !important;" class=3D"ydp237e8fd2yahoo-enhancr-cardlink" rel=3D"nofollo=
w" target=3D"_blank"><table border=3D"0" class=3D"ydp237e8fd2card-wrapper y=
dp237e8fd2yahoo-ignore-table" cellpadding=3D"0" cellspacing=3D"0" style=3D"=
max-width:400px;"><tbody><tr><td width=3D"400"><table border=3D"0" class=3D=
"ydp237e8fd2card ydp237e8fd2yahoo-ignore-table" cellpadding=3D"0" cellspaci=
ng=3D"0" width=3D"100%" style=3D"max-width:400px;border-width:1px;border-st=
yle:solid;border-color:rgb(224, 228, 233);border-radius:2px;"><tbody><tr><t=
d><table border=3D"0" class=3D"ydp237e8fd2card-info ydp237e8fd2yahoo-ignore=
-table" cellpadding=3D"0" cellspacing=3D"0" style=3D"background:#fff;positi=
on:relative;z-index:2;width:100%;max-width:400px;border-radius:0 0 2px 2px;=
border-top:1px solid rgb(224, 228, 233);"><tbody><tr><td style=3D"backgroun=
d-color:#ffffff;padding:16px 0 16px 12px;vertical-align:top;border-radius:0=
 0 0 2px;"></td><td style=3D"vertical-align:middle;padding:12px 24px 16px 1=
2px;width:99%;font-family:&quot;Helvetica Neue&quot;, &quot;Segoe UI&quot;,=
 Helvetica, Arial, sans-serif;border-radius:0 0 2px 0;"><h2 class=3D"ydp237=
e8fd2card-title" style=3D"font-size: 14px; line-height: 19px; margin: 0px 0=
px 6px; font-family: &quot;Helvetica Neue&quot;, &quot;Segoe UI&quot;, Helv=
etica, Arial, sans-serif; color: rgb(38, 40, 42);">Log4j 2.11 released : Ap=
ache Logging Services</h2><p class=3D"ydp237e8fd2card-description" style=3D=
"font-size: 12px; line-height: 16px; margin: 0px; color: rgb(151, 155, 167)=
;"></p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbod=
y></table></a></div><div><br></div><div><br></div><div>Please share on soci=
al media!</div><div><br></div>
           =20
            <div id=3D"yahoo_quoted_2087437041" class=3D"yahoo_quoted">
                <div style=3D"font-family:'Helvetica Neue', Helvetica, Aria=
l, sans-serif;font-size:13px;color:#26282a;">
                   =20
                    <div>
                        On Saturday, March 17, 2018, 9:49:22 AM GMT+9, Ralp=
h Goers &lt;[email protected]&gt; wrote:
                    </div>
                    <div><br></div>
                    <div><br></div>
                    <div><div id=3D"yiv0593888475"><div><font face=3D"Helve=
tica" class=3D"yiv0593888475">The Apache Log4j 2 team is pleased to announc=
e the Log4j 2.11.0 release!<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Apache Log4j is a well known framework for logging application behavior.
 Log4j 2 is an upgrade to Log4j that provides significant improvements=20
over its predecessor, Log4j 1.x, and provides many other modern features
 such as support for Markers, lambda expressions for lazy logging,=20
property substitution using Lookups, multiple patterns on a=20
PatternLayout and asynchronous Loggers. Another notable Log4j 2 feature=20
is the ability to be "garbage-free" (avoid allocating temporary objects)
 while logging. In addition, Log4j 2 will not lose events while=20
reconfiguring.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
This release contains new features, bugfixes and minor enhancements.<br cla=
ss=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
As of Log4j 2.9.0, the Log4j API was modified to use=20
java.util.ServiceLoader to locate Log4j implementations, although the=20
former binding mechanism is still supported. The Log4j API jar is now a=20
multi-release jar to provide implementations of Java 9 specific classes.
 Multi-release jars are not supported by the OSGi specification so OSGi=20
modules will not be able to take advantage of these implementations but=20
will not lose functionality as they will fall back to the=20
implementations used in Java 7 and 8. More details on the new features=20
and fixes are itemized below. Note that some tools are not compatible=20
with multi-release jars and may fail trying to process class files in=20
the META-INF/versions/9 folder. Those errors should be reported to the=20
tool vendor.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Note that subsequent to the 2.9.0 release, for security reasons,=20
SerializedLayout is deprecated and no longer used as default in the=20
Socket and JMS appenders. SerializedLayout can still be used as before,=20
but has to be specified explicitly. To retain old behaviour, you have to
 change configuration like:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
&lt;Appenders&gt;<br class=3D"yiv0593888475">
&nbsp; &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"/&gt;<br =
class=3D"yiv0593888475">
&lt;/Appenders&gt;<br class=3D"yiv0593888475">
into:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
&lt;Appenders&gt;<br class=3D"yiv0593888475">
&nbsp; &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"&gt;<br c=
lass=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; &lt;SerializedLayout/&gt;<br class=3D"yiv0593888475">
&nbsp; &lt;/Socket&gt;<br class=3D"yiv0593888475">
&lt;/Appenders&gt;<br class=3D"yiv0593888475">
We do, however, discourage the use of SerializedLayout and recommend JsonLa=
yout as a replacement:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
&lt;Appenders&gt;<br class=3D"yiv0593888475">
&nbsp; &lt;Socket name=3D"socket" host=3D"localhost" port=3D"9500"&gt;<br c=
lass=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; &lt;JsonLayout properties=3D"true"/&gt;<br class=3D"yiv0=
593888475">
&nbsp; &lt;/Socket&gt;<br class=3D"yiv0593888475">
&lt;/Appenders&gt;<br class=3D"yiv0593888475">
Note that the XML, JSON and YAML formats changed in the 2.11.0 release:=20
they no longer have the "timeMillis" attribute and instead have an=20
"Instant" element with "epochSecond" and "nanoOfSecond" attributes.<br clas=
s=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Note that subsequent to the 2.9.0 release, for security reasons, Log4j=20
does not process DTD in XML files. If you used DTD for including=20
snippets, you have to use XInclude or Composite Configuration instead.<br c=
lass=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
The Log4j 2.11.0 API, as well as many core components, maintains binary=20
compatibility with previous releases with the following exceptions to=20
Log4j Core. Log4j 2.11.0 moves code from log4j-core to several new Maven
 modules. Dependencies to other jars that used to be optional in=20
log4j-core are now required in the new modules. The code in these=20
modules have been repackaged. These changes do not affect your=20
configuration files.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
The new modules are:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
log4j-jdbc-dbc2<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Group ID: org.apache.logging.log4j<br class=3D=
"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Artifact ID: log4j-jdbc-dbc2<br class=3D"yiv05=
93888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Old package: org.apache.logging.log4j.core.app=
ender.db.jdbc<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 New package: org.apache.logging.log4j.jdbc.app=
ender<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
log4j-jpa<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Group ID: org.apache.logging.log4j<br class=3D=
"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Artifact ID: log4j-jpa<br class=3D"yiv05938884=
75">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Old package 1: org.apache.logging.log4j.core.a=
ppender.db.jpa<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 New package 1: org.apache.logging.log4j.jpa.ap=
pender<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Old package 2: org.apache.logging.log4j.core.a=
ppender.db.jpa.converter<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 New package 2: org.apache.logging.log4j.jpa.co=
nverter<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
log4j-mongodb2<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Group ID: org.apache.logging.log4j<br class=3D=
"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Artifact ID: log4j-mongodb2<br class=3D"yiv059=
3888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Old package: org.apache.logging.log4j.mongodb<=
br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 New package: org.apache.logging.log4j.mongodb2=
<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
log4j-mongodb3<br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Group ID: org.apache.logging.log4j<br class=3D=
"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Artifact ID: log4j-mongodb3<br class=3D"yiv059=
3888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 Old package: org.apache.logging.log4j.mongodb<=
br class=3D"yiv0593888475">
&nbsp;&nbsp;&nbsp; =E2=80=A2 New package: org.apache.logging.log4j.mongodb3=
<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
GA Release 2.11.0<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Changes in this version include:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
New Features<br class=3D"yiv0593888475">
LOG4J2-2253: Add API to enable iterating over message parameters without cr=
eating temporary objects. Thanks to Carter Kozak.<br class=3D"yiv0593888475=
">
LOG4J2-1883: Added support for precise (micro and nanosecond) timestamps
 when running on Java 9. A limited number of precise %d date formats are
 supported with PatternLayout. POTENTIAL BREAKING CHANGE: The XML, JSON=20
and YAML formats have changed: they no longer have the "timeMillis"=20
attribute and instead have an "Instant" element with "epochSecond" and=20
"nanoOfSecond" attributes. Thanks to Anthony Maire.<br class=3D"yiv05938884=
75">
LOG4J2-2190: Output JSON object for ObjectMessage in JsonLayout. Thanks to =
Franz Wong.<br class=3D"yiv0593888475">
LOG4J2-2191: Made log4j-core a multi-release ("multi-version") jar, added l=
og4j-core-java9 module.<br class=3D"yiv0593888475">
LOG4J2-2143: Add missing converters to PatternLayout.<br class=3D"yiv059388=
8475">
LOG4J2-2160: Add API org.apache.logging.log4j.core.lookup.Interpolator.getS=
trLookupMap().<br class=3D"yiv0593888475">
LOG4J2-2179: The MongoDB Appender should use a keys and values for a Log4j =
MapMessage.<br class=3D"yiv0593888475">
LOG4J2-2180: Add a MongoDbProvider builder for and deprecate=20
org.apache.logging.log4j.mongodb.MongoDbProvider.createNoSqlProvider().<br =
class=3D"yiv0593888475">
LOG4J2-2181: The JDBC Appender should use keys and values from a Log4j MapM=
essage.<br class=3D"yiv0593888475">
LOG4J2-2185: Add a simple JDBC DriverManager-based ConnectionSource that
 uses JDBC's DriverManager#getConnection(String, String, String).<br class=
=3D"yiv0593888475">
LOG4J2-2186: Add a JDBC ConnectionSource that provides pooling through Apac=
he Commons DBCP 2.<br class=3D"yiv0593888475">
LOG4J2-2187: Add a hook for a Connection Source for a JDBC Appender to rele=
ase its resources.<br class=3D"yiv0593888475">
LOG4J2-2203: Add org.apache.logging.log4j.core.util.WatchManager#unwatch(Fi=
le).<br class=3D"yiv0593888475">
LOG4J2-2206: Add method org.apache.logging.log4j.core.util.WatchManager.res=
et(File) and reset().<br class=3D"yiv0593888475">
LOG4J2-2208: Add debug logging to org.apache.logging.log4j.mongodb.MongoDbC=
onnection.<br class=3D"yiv0593888475">
Fixed Bugs<br class=3D"yiv0593888475">
LOG4J2-2271: Move module-info.class to META-INF/versions/9 directory.<br cl=
ass=3D"yiv0593888475">
LOG4J2-2254: Incorrect automatics module name header was being included in =
manifests.<br class=3D"yiv0593888475">
LOG4J2-2247: NullPointerException would occur when header was provided=20
to a Layout on RollingRandingAccessFileAppender with=20
DirectWriteRolloverStrategy.<br class=3D"yiv0593888475">
LOG4J2-2129: Log4j2 throws NoClassDefFoundError in Java 9 in java.util.Serv=
iceLoader. Thanks to Blazej Bucko.<br class=3D"yiv0593888475">
LOG4J2-2158: Fixed bug where ThreadContext map was cleared, resulting in
 entries being only available for one log event. Thanks to Bj=C3=B6rn=20
Kautler.<br class=3D"yiv0593888475">
LOG4J2-2002: Avoid null attribute values in DefaultConfigurationBuilder. Th=
anks to Paul Burrowes.<br class=3D"yiv0593888475">
LOG4J2-2175: Fix typo in Property Substitution docs. Thanks to Behrang Saee=
dzadeh.<br class=3D"yiv0593888475">
LOG4J2-2163: Allow SortedArrayStringMap to be filtered upon=20
deserialization. Fix build error in Java 9 when compiling log4j-core=20
test classes.<br class=3D"yiv0593888475">
LOG4J2-2157: Don't create exit message in traceExit(R) when logging is disa=
bled. Thanks to Malte Skoruppa.<br class=3D"yiv0593888475">
LOG4J2-2123: DefaultMergeStrategy did not merge filters on loggers correctl=
y. Thanks to Jacob Tolar.<br class=3D"yiv0593888475">
LOG4J2-2126: Removed compile-time dependency on Java Management APIs=20
from Log4J API module to improve compatibility with Android Platform=20
which does not support JMX extensions. Thanks to Oleg Kalnichevski.<br clas=
s=3D"yiv0593888475">
LOG4J2-2270: Strings::join, when called with [null] returns "null" instead =
of EMPTY. Thanks to Cyril Martin.<br class=3D"yiv0593888475">
LOG4J2-2276: ConcurrentModificationException from=20
org.apache.logging.log4j.status.StatusLogger.&lt;clinit&gt;(StatusLogger.ja=
va:71).
 Thanks to Sean Baxter.<br class=3D"yiv0593888475">
LOG4J2-2274: Allow EnvironmentPropertySource to run with a=20
SecurityManager that rejects environment variable access. Thanks to=20
Sebastien Lannez.<br class=3D"yiv0593888475">
LOG4J2-2279: Allow SystemPropertiesPropertySource to run with a=20
SecurityManager that rejects system property access. Thanks to Gary=20
Gregory.<br class=3D"yiv0593888475">
Changes<br class=3D"yiv0593888475">
LOG4J2-2273: Documentation fix in manual page for custom configurations. Th=
anks to Bruno P. Kinoshita.<br class=3D"yiv0593888475">
LOG4J2-2252: Reusable LogEvents now pass the original format string to=20
downstream components like layouts and filters. Thanks to Carter Kozak.<br =
class=3D"yiv0593888475">
LOG4J2-2250: The internal status logger timestamp format is now=20
configurable with system property log4j2.StatusLogger.DateFormat.<br class=
=3D"yiv0593888475">
LOG4J2-2236: Removed unnecessary dependency on jcommander since Log4j uses =
embedded picocli since 2.9.<br class=3D"yiv0593888475">
LOG4J2-2146: Update version of maven bundle plugin to 3.4.0. Convert bundle=
 plugin error to a warning.<br class=3D"yiv0593888475">
LOG4J2-2215: Reduce compiler warnings in log4j-api.<br class=3D"yiv05938884=
75">
LOG4J2-2127: Removed unnecessary threadlocal StringBuilder field from MdcPa=
tternConverter. Thanks to Carter Kozak.<br class=3D"yiv0593888475">
LOG4J2-2194: Require Java 9 to compile the log4j-perf module to allow bench=
marking with Java 9 APIs.<br class=3D"yiv0593888475">
LOG4J2-2193: Update JMH to version 1.19 from 1.1.1.<br class=3D"yiv05938884=
75">
LOG4J2-2132: Update ZeroMQ's jeromq from 0.4.2 to 0.4.3.<br class=3D"yiv059=
3888475">
LOG4J2-2165: Update Jackson from 2.9.2 to 2.9.3.<br class=3D"yiv0593888475"=
>
LOG4J2-2184: Update MongoDB driver from 3.0.4 to 3.6.1.<br class=3D"yiv0593=
888475">
LOG4J2-2197: Document default property value support. Thanks to Fabrice Dau=
gan.<br class=3D"yiv0593888475">
LOG4J2-2198: Update MongoDB dependencies from classic to modern.<br class=
=3D"yiv0593888475">
LOG4J2-2204: org.apache.logging.log4j.core.util.WatchManager.getWatchers() =
should pre-allocate its new Map.<br class=3D"yiv0593888475">
LOG4J2-2209: Rename existing MongoDb plugin and related artifacts from Mong=
oDb to MongoDb2.<br class=3D"yiv0593888475">
LOG4J2-2210: Fix error log message for Script which says ScriptFile instead=
. Thanks to Bj=C3=B6rn Kautler.<br class=3D"yiv0593888475">
LOG4J2-2212: Unnecessary contention in CopyOnWriteSortedArrayThreadContextM=
ap. Thanks to Daniel Feist, Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2213: Unnecessary contention in GarbageFreeSortedArrayThreadContextM=
ap. Thanks to Daniel Feist, Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2214: Unnecessary contention in DefaultThreadContextMap. Thanks to D=
aniel Feist, Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2182: NullPointerException at=20
org.apache.logging.log4j.util.Activator.loadProvider(Activator.java:81)=20
in log4j 2.10.0. Thanks to liwenxian2017, Gary Gregory.<br class=3D"yiv0593=
888475">
LOG4J2-2202: MarkerFilter onMismatch invalid attribute in .properties. Than=
ks to Kilian, Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2219: Configuration builder classes should look for "onMismatch", no=
t "onMisMatch". Thanks to Kilian, Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2205: New module log4j-mongodb3: Remove use of deprecated MongoDB
 APIs and code to the Java driver version 3 API. Thanks to Gary Gregory.<br=
 class=3D"yiv0593888475">
LOG4J2-2188: Split off JPA support into a new module log4j-jpa. Thanks to G=
ary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2229: Update Jackson from 2.9.3 to 2.9.4. Thanks to Gary Gregory.<br=
 class=3D"yiv0593888475">
LOG4J2-2243: Cannot see or copy all of certain JAnsi exception messages=20
on Windows due to NUL characters. Thanks to Gary Gregory.<br class=3D"yiv05=
93888475">
LOG4J2-2245: Update Apache Commons Compress from 1.15 to 1.16.1. Thanks to =
Gary Gregory.<br class=3D"yiv0593888475">
LOG4J2-2259: Update MongoDB 3 module from driver 3.6.1 to 3.6.3.<br class=
=3D"yiv0593888475">
LOG4J2-2260: [SMTP] Update javax.mail from 1.6.0 to 1.6.1.<br class=3D"yiv0=
593888475">
LOG4J2-2264: Update JAnsi from 1.16 to 1.17.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Apache Log4j 2.11.0 requires a minimum of Java 7 to build and run. Log4j 2.=
3 was the last release that supported Java 6.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api
 component, however it does not implement some of the very=20
implementation specific classes and methods. The package names and Maven
 groupId have been changed to org.apache.logging.log4j to avoid any=20
conflicts with log4j 1.x.<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
For complete information on Apache Log4j 2, including instructions on=20
how to submit bug reports, patches, or suggestions for improvement, see=20
the Apache Apache Log4j 2 website:<br class=3D"yiv0593888475">
  <br class=3D"yiv0593888475">
<a rel=3D"nofollow" target=3D"_blank" href=3D"https://logging.apache.org/lo=
g4j/2.x/" class=3D"yiv0593888475">https://logging.apache.org/log4j/2.x/</a>=
</font><br class=3D"yiv0593888475">
<br class=3D"yiv0593888475">
<div class=3D"yiv0593888475"><br class=3D"yiv0593888475">
</div></div></div></div>
                </div>
            </div></div></body></html>
------=_Part_2258523_76742860.1521255443419--