Here is my +1

Ralph

> On 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 
> <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
>  <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/
>  
> <https://repository.apache.org/content/repositories/orgapachelogging-1018/org/apache/logging/log4j/>
> Ralph
> 
> 

Reply via email to