Blogged: https://blogs.apache.org/logging/entry/log4j-2-11-1-released

Please share on social media.

On Tue, Jul 31, 2018 at 2:38 PM, Ralph Goers <ralph.go...@dslextreme.com>
wrote:

>
> The Apache Log4j 2 team is pleased to announce the Log4j 2.11.1 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 new features, bugfixes and minor enhancements.
>
> Due to a break in compatibility in the SLF4J binding, Log4j now ships with
> two versions of the SLF4J to Log4j adapters. log4j-slf4j-impl should be
> used with SLF4J 1.7.x and earlier and log4j-slf4j18-impl should be used
> with SLF4J 1.8.x and later.
>
> As of Log4j 2.9.0, the Log4j API was modified to use
> java.util.ServiceLoader to locate Log4j implementations, although the
> former binding mechanism is still supported. The Log4j API jar is now a
> multi-release jar to provide implementations of 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 some tools are not compatible with multi-release
> jars and may fail trying to process class files in the META-INF/versions/9
> folder. Those errors should be reported to the tool vendor.
>
> Note that subsequent to the 2.9.0 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="socket" host="localhost" port="9500"/>
> </Appenders>
>
> into:
>
> <Appenders>
>   <Socket name="socket" host="localhost" port="9500">
>     <SerializedLayout/>
>   </Socket>
> </Appenders>
>
> We do, however, discourage the use of SerializedLayout and recommend
> JsonLayout as a replacement:
>
> <Appenders>
>   <Socket name="socket" host="localhost" port="9500">
>     <JsonLayout properties="true"/>
>   </Socket>
> </Appenders>
>
> Note that the XML, JSON and YAML formats changed in the 2.11.0 release:
> they no longer have the "timeMillis" attribute and instead have an
> "Instant" element with "epochSecond" and "nanoOfSecond" attributes.
>
> 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.
>
> The Log4j 2.11.1 API, as well as many core components, maintains binary
> compatibility with previous releases.
>
> GA Release 2.11.1
>
> Changes in this version include:
>
> Fixed Bugs
>
>         • LOG4J2-2389: ThrowableProxy was saving and retrieving cache
> entries using different keys. Thanks to Liu Wen.
>         • LOG4J2-2316: If root LoggerConfig does not have a Level return
> ERROR.
>         • LOG4J2-2390: Fix broken links in log4j web documentation. Thanks
> to anton-balaniuc.
>         • LOG4J2-2343: The OSGi Activator specified an incorrect version.
> Thanks to Raymond Augé.
>         • LOG4J2-2305: Make java.util.ServiceLoader properly work in OSGi
> by using the Service Loader Mediator Specification. Thanks to Björn Kautler.
>         • LOG4J2-2305: Split the SLF4J binding into 2 implementations -
> one for SLF4J 1.7.x and one for SLF4J 1.8+.
>         • LOG4J2-2268: Improve plugin error message when elements are
> missing. Thanks to Tilman Hausherr.
>         • LOG4J2-2283: ParserConfigurationException when using Log4j with
> oracle.xml.jaxp.JXDocumentBuilderFactory. Thanks to Vishnu Priya Matha.
>         • LOG4J2-2300: PoolingDriverConnectionSource does not take into
> account properties, user name, and password.
>         • LOG4J2-2307: MutableLogEvent and RingBufferLogEvent message
> mementos retain the original format string.
>         • LOG4J2-2032: Curly braces in parameters are not treated as
> placeholders. Thanks to Kostiantyn Shchepanovskyi.
>         • LOG4J2-2317: MutableLogEvent.getNonNullImmutableMessage and
> Log4jLogEvent.makeMessageImmutable retain format and parameters.
>         • LOG4J2-2318: Messages are no longer mutated when the
> asynchronous queue is full. A warning is logged to the status logger
> instead.
>         • LOG4J2-2320: Fix NPE in AbstractLogger when another exception is
> thrown, masking the root cause.
>         • LOG4J2-2321: AsyncLogger uses the correct level when
> unspecified. This provides parity between AsyncLogger and Logger.
>         • LOG4J2-2322: Custom ContextSelector implementations which select
> an AsyncLoggerContext disable LoggerConfig.includeLocation by default for
> parity with AsyncLoggerContextSelector.
>         • LOG4J2-2269: MutableLogEvent references to other objects are
> cleared after each use. Fix a memory leak causing references to parameters
> to be held after synchronous logging with thread locals enabled.
>         • LOG4J2-2301: Mixed async loggers no longer forget parameter
> values, providing some appenders with an array of nulls.
>         • LOG4J2-2331: RollingFileManager debug logging avoids string
> concatenation and errant braces in favor of parameterized logging. Thanks
> to Mike Baranski.
>         • LOG4J2-2333: Handle errors thrown in default disruptor
> ExceptionHandler implementations to avoid killing background threads.
>         • LOG4J2-2334: Add API org.apache.logging.log4j.core.
> appender.AsyncAppender.getQueueSize().
>         • LOG4J2-2336: Remove duplicate hyphen from the AsyncLoggerConfig
> background thread name.
>         • LOG4J2-2347: Update Apache Commons Compress from 1.16.1 to 1.17.
>         • LOG4J2-2352: RingBufferLogEvent memento messages provide the
> expected format string, and no longer attempt to substitute parameters into
> curly braces in parameter toString values. Both RingBufferLogEvent and
> MutableLogEvent memento implementations memoize results to avoid rebuilding
> formatted string values.
>         • LOG4J2-2355: PropertiesUtil ignores non-string system
> properties. Fixes a NoClassDefFoundError initializing StatusLogger caused
> by an NPE while initializing the static PropertiesUtil field. Thanks to
> Henrik Brautaset Aronsen.
>         • LOG4J2-2362: Fixed a memory leak in which ReusableObjectMessage
> would hold a reference to the most recently logged object.
>         • LOG4J2-2312: Jackson layouts used with
> AsyncLoggerContextSelector output the expected format rather than only a
> JSON string of the message text.
>         • LOG4J2-2364: Fixed a memory leak in which
> ReusableParameterizedMessage would hold a reference to the most recently
> logged throwable and provided varargs array.
>         • LOG4J2-2368: Nested logging doesn't clobber AbstractStringLayout
> cached StringBuidlers
>         • LOG4J2-2373: StringBuilders.escapeJson implementation runs in
> linear time. Escaping large JSON strings in EncodingPatternConverter and
> MapMessage will perform significantly better. Thanks to Kevin Meurer.
>         • LOG4J2-2376: StringBuilders.escapeXml implementation runs in
> linear time. Escaping large XML strings in EncodingPatternConverter and
> MapMessage will perform significantly better. Thanks to Kevin Meurer.
>         • LOG4J2-2377: NullPointerException in
> org.apache.logging.log4j.util.LoaderUtil.getClassLoaders() when using
> Bootstrap class loader. Thanks to Mirko Rzehak, Gary Gregory.
>         • LOG4J2-2382: Update Mongodb 3 driver from 3.6.3 to 3.8.0.
>         • LOG4J2-2388: Thread indefinitely blocked when logging a message
> in an interrupted thread. Thanks to Failled.
> Changes
>
>         • LOG4J2-1721: Allow composite configuration for context
> parameter. Thanks to Phokham Nonava.
>         • LOG4J2-2302: Status logger should show the Log4j name and
> version when initializing itself.
>         • LOG4J2-2304: Log4j2 2.8.2 JMX unregister NullPointerException.
> Thanks to wumengsheng.
>         • LOG4J2-2311: Update Jackson from 2.9.4 to 2.9.5.
>         • LOG4J2-2313: Update LMAX Disruptor from 3.3.7 to 3.4.2.
>         • LOG4J2-548: Log4j 2.0 ERROR "Could not search jar" with JBoss
> EAP 6.2. Thanks to Shehata, Paresh Varke, Eric Victorson, Martin Laforet.
>         • LOG4J2-2328: Update JAnsi from 1.17 to 1.17.1.
>         • LOG4J2-2351: Added AbstractLogEvent.getMutableInstant to allow
> the MutableInstant instance to be modified by classes extending
> AbstractLogEvent.
>         • LOG4J2-2357: Update Jackson from 2.9.5 to 2.9.6.
>         • LOG4J2-2358: Update Kafka client from 1.0.0 to 1.1.0.
>         • LOG4J2-2384: Update Kafka client from 1.1.0 to 1.1.1.
>         • LOG4J2-2385: Update Groovy from 2.4.13 to 2.5.1.
>         • LOG4J2-2386: Update optional Apache Commons DBCP from 2.2.0 to
> 2.4.0.
> Apache Log4j 2.11.1 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/
>         • © 2018 GitHub, Inc.
>         • Terms
>         • Privacy
>         • Security
>         • Status
>         • Help
>         • Contact GitHub
>         • API
>         • Training
>         • Shop
>         • Blog
>         • About
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>

Reply via email to