+1 despite a lot of non-code issues, none of which are blockers IMO, since the _code_ is OK. See also my previous emails.
>From distribution src zip: MD5, SHA1, ASC OK. Following BUILDING.txt as usual. PASS: mvn apache-rat:check FAIL: mvn clirr:check -pl log4j-api We have a LOT (205) CLIRR violations in https://rgoers.github.io/log4j2-site/log4j-api/clirr-report.html which are _not_ explained away as OK in the RELEASE-NOTES.txt. We really ought to explain how the new methods on public interfaces will not break existing call sites but could break custom providers that do not extend our Core classes. I have also updated the BUILDING.txt file in master to show that the 1.2 API Clirr check MUST come AFTER install is run. This is not obvious when you run from a SNAPSHOT build, but it must be so for a version that you have never built before. PASS: mvn clean site This is alarming, many: [INFO] Ignoring api call removed in maven 3, no reports are generated! Is this because we use an older version of the Maven PDF plugin? I'm do not know if anything is missing from the PDF. Hm, if I use version 1.3 instead of 1.2 I still get the same INFOs and also WARNs. Gary On Wed, May 25, 2016 at 8:21 PM, Ralph Goers <[email protected]> wrote: > This is a vote to release Log4j 2.6, the next version of the Log4j 2 > project. > > Please download, test, and cast your votes on the log4j developers list. > [] +1, release the artifacts > [] -1, don't release because... > > The vote will remain open for 72 hours (or more if required). All > votes are welcome and we encourage everyone to test the release, but only > Logging PMC votes are “officially” counted. As always, at least 3 +1 votes > and more positive than negative votes are required. > > Changes in this version include: > > New features: > o LOG4J2-1270: (GC) Added support for garbage-free logging in steady > state. > This includes Async Loggers and logging synchronously to the > console and to a file, > but does not include the AsyncAppender. This release makes the > GelfLayout and > the main patterns in the PatternLayout garbage-free. > o LOG4J2-1297: (GC) Added manual page on garbage-free logging. > o LOG4J2-1373: (GC) Update Logger wrapper Generator tool to generate > methods for the new Logger methods. > o LOG4J2-1326: (GC) Added methods to the Logger interface for logging > CharSequence messages. > o LOG4J2-1344: (GC) FileAppender, RollingFileAppender and > MemoryMappedFileAppender are now also garbage-free by default. > o LOG4J2-1278: (GC) Added unrolled varargs methods to Logger API, added > Unbox utility to avoid auto-boxing when logging primitive values. > o LOG4J2-1271: (GC) Add MessageFactory that avoid allocation by reusing a > cached ParameterizedMessage instance. > o LOG4J2-1293: (GC) Add interface StringBuilderFormattable to enable > converting Messages and parameters to text without allocating temporary > objects. > ParameterizedMessage, ObjectMessage, SimpleMessage and > ThreadDumpMessage now implement StringBuilderFormattable. > o LOG4J2-1274: (GC) Add encode(LogEvent, ByteBufferDestination) method to > Layout API to enable converting LogEvents to bytes without creating > temporary objects. > o LOG4J2-1362: Added a YAML layout. Thanks to Gary Gregory. > o LOG4J2-1179: Documented benchmark results comparing Log4j 2 performance > to other logging libraries. > o LOG4J2-1011: Document dependencies for layouts. > o LOG4J2-621: Pattern to drop first N package parts. Thanks to Lee > Theobald, Kamal Mettananda, Gary Gregory. > o LOG4J2-494: Support merging configurations to for a composite > configuration. Thanks to Philipp Knobel. > o LOG4J2-1357: Option to not log stack traces for logged Throwables in > GelfLayout. > o LOG4J2-1348: Add an AutoCloseable ThreadContext class: > CloseableThreadContext. Thanks to Greg Thomas, Gary Gregory. > o LOG4J2-1299: Add pattern converter for thread id and priority in > PatternLayout. > o LOG4J2-124: Add shutdown methods to LogManager. > o LOG4J2-1221: Added async logger Timeout wait strategy and made this the > default wait strategy for async loggers. > This prevents a rare deadlock that may occur on Solaris. Thanks to > Michael Barker. > o LOG4J2-1080: Added option to discard events below a certain log level > if the async logger ring buffer > or async appender queue is full. > o LOG4J2-1237: Make PatternLayout header and footer accept a pattern. > Thanks to Mike Calmus, Gary Gregory. > o LOG4J2-1244: Make header and footer values customizable in JSONLayout. > Thanks to Anshu Garg, Remko Popma, Gary Gregory. > o LOG4J2-1245: Make CSV Layout header and footers accept patterns. > o LOG4J2-1192: Dynamic Subject for SMTP Appender. Thanks to Jörg > Bretschneider, Gary Gregory. > o LOG4J2-1277: FormattedMessage, MessageFormatMessage and > StringFormattedMessage should support passing in a Locale to ensure > appropriate formatting. Thanks to Gary Gregory, Ludovic Hochet. > o LOG4J2-1303: Add documentation links to runtime dependencies in each > component intro page. > o LOG4J2-1252: JeroMqAppender should support layouts. > o LOG4J2-1217: PatternLayout option to limit length of text. Thanks to > Thies Wellpott. > o LOG4J2-1133: Add JNDI lookup documentation. > o LOG4J2-1169: PatternLayout: Possible variable substitution in equals > substitution parameter. Thanks to Gerald Kritzinger. > > Fixed Bugs: > o LOG4J2-1281: (GC) LoggerConfig.getProperties() should not allocate on > each call. > o LOG4J2-1269: (GC) AsyncLogger should use thread-local translator by > default. > o LOG4J2-623: Generate MDC properties as a JSON map in JSONLayout, with > option to output as list of map entries. > o LOG4J2-1387: Fixed memory leak related to shutdown hook. > o LOG4J2-1382: Copying a MutableLogEvent using Log4jLogEvent.Builder > should not unnecessarily obtain caller location information. > o LOG4J2-1372: XMLLayout indents, but not the first child tag (Event). > Thanks to Kamal Mettananda, Gary Gregory. > o LOG4J2-1363: Properties Configuration did not support includeLocation > attribute on Loggers. > o LOG4J2-1263: The ConfigurationSource was not saved for > BuiltConfigurations so monitor interval had no effect. > o LOG4J2-1369: "xz" compression results in plaintext, uncompressed files. > Thanks to Alex Birch, Gary Gregory. > o LOG4J2-1368: (Log4j-internal) StatusLogger dropped exceptions when > logging parameterized messages. > o LOG4J2-1336: LoggerFactory in 1.2 API module is not compatible with > 1.2. Thanks to Zbynek Vyskovsky. > o LOG4J2-1354: No configuration reload is triggered under Windows when > replacing the configuration file with one that has older last modified > date. Thanks to Arkadiusz Adolph. > o LOG4J2-1346: Exception from Log4jServletContextListener prevents > jetty-maven-plugin run-forked. > o LOG4J2-1339: (Perf) AsyncLogger performance optimization: avoid calling > instanceof TimestampMessage in hot path. > o LOG4J2-1324: Improve error handling in the Async Logger background > thread: the new default exception handler no longer rethrows the error. > o LOG4J2-1309: Configuration file error does not show cause exception. > o LOG4J2-1289: Change flow logging text from "entry' to "Enter" and > "exit" to "Exit". > o LOG4J2-1284: Made default MessageFactory configurable. > o LOG4J2-1280: Deprecate org.apache.logging.log4j.util.MessageSupplier. > o LOG4J2-1280: Logger methods taking Supplier parameters now correctly > handle cases where the supplied value is a Message. > o LOG4J2-1268: FixedDateFormat was incorrect for formats having MMM with > the French locale. > o LOG4J2-1222: Creation of a LoggerContext will fail if shutdown is in > progress. LogManager will default to SimpleLogger instead. > o LOG4J2-1260: TlsSyslogFrame calculates message length incorrectly. > Thanks to Blake Day, Gary Gregory. > o LOG4J2-1258: Async DynamicThresholdFilter does not use the log event's > context map. Thanks to Francis Lalonde. > o LOG4J2-1232: Incorrect log rotation in last week of year. Thanks to > Nikolai. > o LOG4J2-1248: Fixed broken nanotime in pattern layout. > o LOG4J2-908: JSONLayout doesn't add a comma between log events. Thanks > to Konstantinos Liakos, Patrick Flaherty, Robin Coe, Gary Gregory. > o LOG4J2-1230: Don't concatenate SYSLOG Messages. Thanks to Vladimir > Hudec, Ralph Goers, Gary Gregory. > o LOG4J2-1238: org.apache.logging.log4j.core.net.TcpSocketManager and > other classes does not report internal exceptions to the status logger. > o LOG4J2-1212: Fix documentation to specify the correct default wait > strategy used by async loggers. > o LOG4J2-1215: Documentation/XSD inconsistencies. Thanks to Erik > Kemperman. > o LOG4J2-1276: LoggerMessageSupplierTest and LoggerSupplierTest are > Locale sensitive. Thanks to Ludovic Hochet. > o LOG4J2-1251: Fix JUL bridge issue where LogRecord.getParameters() is > used when null. Thanks to Romain Manni-Bucau. > o LOG4J2-1254: Fix typo in Flow Tracing documentation. Thanks to Josh > Trow. > o LOG4J2-920: ClassNotFoundException for BundleContextSelector when > initialising in an OSGi environment. Thanks to Ludovic Hochet. > o LOG4J2-1275: Fix RollingAppenderNoUnconditionalDeleteTest repeat test > runs from failing. Thanks to Ludovic Hochet. > o LOG4J2-1262: Stop throwing unnecessary exception in > Log4jServletContextListener.contextDestroyed(). > o LOG4J2-1227: NullPointerException in MapLookup.lookup if the event is > null. Thanks to Olivier Lemasle. > o LOG4J2-1050: Add a Log4jLookup class to help write log files relative > to log4j2.xml. Thanks to Adam Retter. > o LOG4J2-1310: JndiLookup mindlessly casts to String and should use > String.valueOf(). > o LOG4J2-248: Log4jWebInitializerImpl: Use Thread instead of Class for > fallback classloader. > o LOG4J2-1330: Fix NoClassDefFoundError in ReflectionUtil on Google App > Engine. > > Changes: > o LOG4J2-1356: (GC) GelfLayout does now support garabage-free logging > (with compressionType=OFF). > o LOG4J2-1343: (GC) ConsoleAppender is now garbage-free by default. This > logic is reusable for all AbstractOutputStreamAppender subclasses. > o LOG4J2-1318: (GC) Avoid allocating unnecessary temporary objects in > LoggerContext's getLogger methods. > o LOG4J2-1333: (GC) Avoid allocating unnecessary temporary objects in > MarkerManager's getMarker methods. > o LOG4J2-1321: (GC) Avoid allocating unnecessary temporary objects in > PatternLayout's NamePatternConverter and ClassNamePatternConverter. > o LOG4J2-1271: (GC) ParameterizedMessage optimizations to avoid or at > least postpone allocating temporary objects. > o LOG4J2-1283: (GC) Provide ThreadLocal-based gc-free caching mechanism > in DatePatternConverter for non-webapps. > o LOG4J2-1291: (GC) Update PatternLayout to utilize gc-free mechanism for > LogEvent processing. > o LOG4J2-1292: (GC) Update RandomAccessFileAppender and > RollingRandomAccessFileAppender to utilize gc-free Layout.encode() method. > o LOG4J2-1272: (GC) Improve LoggerConfig's data structure for > AppenderControl objects to avoid allocating temporary objects during > traversal for each log event. > o LOG4J2-1375: Update SLF4J from 1.7.13 to 1.7.21. > o LOG4J2-1374: Migrate tests from Logback 1.1.3 to 1.1.7. > o LOG4J2-1384: Update Apache Commons CSV from 1.2 to 1.3. > o LOG4J2-1365: (Log4j-internal) Provide message text as CharSequence for > some message types to optimize some layouts. > o LOG4J2-1345: (Doc) Clarify documentation for properties that control > Log4j behaviour. > o LOG4J2-1255: Add enhanced entry and exit methods. > o LOG4J2-1380: Update Jackson from 2.7.3 to 2.7.4. > o LOG4J2-1304: Update Jackson from 2.7.0 to 2.7.2. > o LOG4J2-1253: Update LMAX Disruptor from 3.3.2 to 3.3.4. > o LOG4J2-1219: Update SLF4J from 1.7.12 to 1.7.13. > o LOG4J2-1239: Update Jackson from 2.6.3 to 2.6.4. > o LOG4J2-1249: Update Jackson from 2.6.4 to 2.7.0. > o LOG4J2-1351: Update Jackson from 2.7.2 to 2.7.3. > o LOG4J2-1240: Update Liquibase from 3.3.5 to 3.4.2. > o LOG4J2-1294: Update Kafka client from 0.9.0.0 to 0.9.0.1. > o LOG4J2-1352: Update javax.mail from 1.5.4 to 1.5.5. > o LOG4J2-1358: Update Apache Commons Compress from 1.10 to 1.11. > o LOG4J2-1388: Update Google java-allocation-instrumenter from 3.0 to > 3.0.1. > o LOG4J2-1233: Misleading Value In Properties Example. Thanks to Bahri > Gencsoy. > o LOG4J2-1300: Remove serializability from classes that don't need it. > o LOG4J2-1306: JeroMqAppender should use ShutdownCallbackRegistry instead > of runtime hooks. > o LOG4J2-1308: Remove need to pre-specify appender et al. identifiers in > property file config format. > o LOG4J2-1206: org.apache.logging.log4j.core.LoggerContext#updateLoggers > should call firePropertyChangeEvent. > o LOG4J2-1322: Update Log4j 1.x migration guide to include information > about system property lookup syntax changes. > > Tag: > > a) for a new copy do "git clone > https://git-wip-us.apache.org/repos/asf/logging-log4j2.git" and then "git > checkout tags/log4j-2.6-rc1” > b) for an existing working copy to “git pull” and then “git checkout > tags/log4j-2.6-rc1” > > Web Site: > <http://rgoers.github.io/log4j2-site/index.html>http://rgoers.github.io/log4j2-site/index.html > > Artifacts: > https://repository.apache.org/content/repositories/orgapachelogging-1018 > <https://repository.apache.org/content/repositories/orgapachelogging-1017> > > You may download all the artifacts by executing: > > wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate > https://repository.apache.org/content/repositories/orgapachelogging-1018/org/apache/logging/log4j/ > > Ralph > > > -- E-Mail: [email protected] | [email protected] Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory
