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>