I'm not exactly sure what my received mail looks like, but the sent version looks great. :/
On 1 September 2017 at 00:06, Ralph Goers <ralph.go...@dslextreme.com> wrote: > What you show here looks much like what the announcement in the dev list > looks like. Notice the headings for the changes are ugly even in your email. > > I sent it to the dev list as one email and the announce list as a second > email since I have to use different email addresses. But the content was > formatted exactly the same. I suspect the announce list does extra stuff. > > Ralph > > > On Aug 31, 2017, at 6:00 PM, Matt Sicker <boa...@gmail.com> wrote: > > > > Example: > > > > Apache Log4j 2.9.0 Release Notes > > > > 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="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 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#fixed-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ück. > > - 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#changes> > > 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=0 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/ > > > > On 31 August 2017 at 19:36, Ralph Goers <ralph.go...@dslextreme.com> > wrote: > > > >> Although it looks great at GitHub, I really dislike what copying the > page > >> there makes the actual announcement look like. It doesn’t look too bad > >> below, except that the headings look odd, but when it goes to the > >> announcement list it looks terrible. http://mail-archives.us. > >> apache.org/mod_mbox/www-announce/201708.mbox/% > 3Ccd8b8bef-882e-fb69-6e89- > >> d72428416...@apache.org%3E <http://mail-archives.us. > >> apache.org/mod_mbox/www-announce/201708.mbox/% > 3Ccd8b8bef-882e-fb69-6e89- > >> d72428416...@apache.org%3E>. > >> > >> Any ideas? > >> > >> Ralph > >> > >> > >>> On Aug 30, 2017, at 5:26 PM, Ralph Goers <ralph.go...@dslextreme.com> > >> wrote: > >>> > >>> 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="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 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#fixed-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ück. > >>> 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#changes>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=0 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/> > >> > >> > > > > > > -- > > Matt Sicker <boa...@gmail.com> > > > > -- Matt Sicker <boa...@gmail.com>