Here is my +1

Ralph

> On Oct 2, 2016, at 1:11 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote:
> 
> This is a vote to release Log4j 2.7, 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-1578:  RoutingAppender can be configured with scripts. Add Script in 
> a Routes element. 
> o LOG4J2-1597:  Add a ScriptAppenderSelector to create an Appender specified 
> by a Script. 
> o LOG4J2-1349:  (GC) Added support for garbage-free ThreadContext map. 
> Disabled by default, users need to enable this explicitly. 
> o LOG4J2-1447:  (GC) Changed LogEvent's internal data structure for context 
> data to be garbage-free. Added method LogEvent#getContextData(), deprecated 
> method #getContextMap(). 
> o LOG4J2-1010:  Users can now inject context data from other sources than 
> ThreadContext. Values can be any Object, not just Strings. Thanks to Mikael 
> Ståldal. 
> o LOG4J2-1568:  Added support for java.util.concurrent.LinkedTransferQueue to 
> AsyncAppender. 
> o LOG4J2-1430:  Added optional support for Conversant DisruptorBlockingQueue 
> in AsyncAppender. Thanks to John Cairns. 
> o LOG4J2-1439:  Added optional support for JCTools MPSC bounded lock-free 
> queue in AsyncAppender. Thanks to Anthony Maire. 
> o LOG4J2-1558:  SocketAppender now supports IO buffering. 
> o LOG4J2-1557:  Add a Builder for the SocketAppender (deprecates factory 
> method). 
> o LOG4J2-1609:  Add a Builder to ServletAppender and deprecate factory 
> method. 
> o LOG4J2-1553:  AbstractManager now implements AutoCloseable. 
> o LOG4J2-1528:  Added ability to generate Log4j 2-style XML configuration 
> file from ConfigurationBuilder. 
> o LOG4J2-1181:  Added Logging API for Scala 2.10 and 2.11. 
> o LOG4J2-1512:  Added options to exclude stack trace from JSON, XML and YAML 
> layouts. 
> o LOG4J2-1539:  Added Core API Configurator.shutdown(LoggerContext, long, 
> TimeUnit). 
> o LOG4J2-1501:  FileAppender is now able to create files on-demand. 
> o LOG4J2-1504:  RollingFileAppender is now able to create files on-demand. 
> o LOG4J2-1471:  [PatternLayout] Add an ANSI option to %xThrowable. 
> o LOG4J2-1472:  org.apache.logging.log4j.core.LoggerContext now implements 
> Closeable. 
> o LOG4J2-1458:  [PatternLayout] Add an ANSI option to %message. 
> o LOG4J2-1505:  Create a Builder for the FileAppender plugin to facilitate 
> adding attributes in the future. 
> o LOG4J2-1507:  Allow Builders to be completely generic. 
> o LOG4J2-1508:  Allow a Builder to subclass another Builder. 
> o LOG4J2-1516:  Add ThreadContextMap2 interface supporting method 
> putAll(Map<String, String>). Thanks to Gary Gregory. 
> o LOG4J2-1519:  Add ThreadContext.putAll(Map<String, String>). 
> o LOG4J2-1520:  Add JUnit Rule implementations to manage the thread context. 
> o LOG4J2-1547:  The Core AbstractConfiguration now tracks its LoggerContext 
> and add Configuration.getLoggerContext(). 
> o LOG4J2-1540:  The Core AbstractManager now tracks its LoggerContext. 
> o LOG4J2-1577:  Add a Builder to the RoutingAppender and deprecate factory 
> method. 
> 
> Fixed Bugs:
> o LOG4J2-1618:  Fixed ClassCastException when using JUL logging during 
> shutdown. Thanks to Raman Gupta. 
> o LOG4J2-1620:  2.7-rc1: RollingFileAppender immediateFlush default value 
> should be true, not false. Thanks to Sascha Scholz. 
> o LOG4J2-1611:  Improved performance of context data injector for web 
> applications to be on par with standalone applications. 
> o LOG4J2-1591:  Introduced new interface LifeCycle2 with stop(long,TimeUnit) 
> method to avoid breaking backwards compatibility with new 
> Configurator.shutdown(LoggerContext, long, TimeUnit) API. 
> o LOG4J2-1590:  Fixed issue with filters extending AbstractFilter that did 
> not override methods with unrolled varargs. 
> o LOG4J2-1583:  Fixed scrambled log messages triggered by nested logging from 
> toString() method of a logging parameter object. Thanks to Larry West. 
> o LOG4J2-1259:  Log4j threads are no longer leaking on Tomcat shutdown. 
> Thanks to Misagh Moayyed, Steffen Offermann. 
> o LOG4J2-1051:  When starting on Google App Engine, Interpolator now 
> suppresses the NoClassDefFoundError stack trace  for the jvmrunargs lookup. 
> Thanks to Lukasz Lenart. 
> o LOG4J2-1582:  When initializing on platforms where JMX is not available, 
> Interpolator component no longer prints stack trace for warning messages. 
> o LOG4J2-1581:  Unregistering JMX components no longer prints a stack trace 
> when the MBean has already been unregistered. 
> o LOG4J2-1313:  Support Property values to be specified in configuration as a 
> value attribute as well as an element. Thanks to Philipp Knobel, Leon Finker. 
> o LOG4J2-1575:  (GC) LoggerConfig now stores configuration properties in a 
> List, not a Map to prevent creating temporary Iterator objects. Added method 
> LoggerConfig#getPropertyList(), deprecated method #getProperties(). 
> o LOG4J2-1457:  Fixed class loader deadlock when using async logging and 
> extended stack trace pattern. Thanks to Leon Finker. 
> o LOG4J2-1563:  Fix to prevent Log4j 2.6.2 and higher from losing exceptions 
> when a security manager is present. Thanks to Jason Tedor. 
> o LOG4J2-1530:  Fixed issue where LogEvent.getContextStack() returned null. 
> o LOG4J2-1518:  Prevent deadlock in Async Loggers when queue is full and 
> logged Object's toString() logs another message. Thanks to Leon Finker. 
> o LOG4J2-1542:  Prevent ArrayIndexOutOfBoundsException in 
> ParameterizedMessage.formatTo for single-char or empty messages. Thanks to 
> Rogério Lecarião Leite. 
> o LOG4J2-1549:  Fixed issue where 
> AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to 
> includeLocation=true. Thanks to Jason Bedard. 
> o LOG4J2-1562:  Prevent SocketAppender memory usage from growing unbounded if 
> it cannot connect to a server. 
> o LOG4J2-1559:  Prevent NPE in Level.isInRange. Thanks to Andrey Plotkin. 
> o LOG4J2-1511:  DynamicThresholdFilter filtered incorrectly when params were 
> passed as individual arguments instead of varargs. Thanks to Srikanth 
> Surukuntu. 
> o LOG4J2-1548:  [CronTriggeringPolicy] ConfigurationScheduler scheduled the 
> task infinitely after first fire. 
> o LOG4J2-1506:  Log4j should not unregister JMX MBeans when 
> log4j2.disable.jmx property is true. Thanks to Johannes Schleger. 
> o LOG4J2-1490:  Log4j2 should postpone creating log file until the appender 
> actually receives an event. Thanks to Krzysztof Taborski. 
> o LOG4J2-1320:  Support loading custom plugins from jar files and directories 
> whose classpath entries use the "vfs" URL protocol. Thanks to Paresh Varke, 
> Pierrick Hymbert. 
> o LOG4J2-1541:  Fix file handle resource leak in 
> XmlConfiguration.XmlConfiguration(ConfigurationSource). 
> o LOG4J2-1538:  Prevent NPE when dynamically removing filters. Thanks to Igor 
> Karpov. 
> o LOG4J2-1532:  Attributes were not merged properly in composite 
> configurations. 
> o LOG4J2-1529:  Attributes were not merged properly in composite 
> configurations. Thanks to Sridevi Narra. 
> o LOG4J2-1527:  Prevent NPE in RingBufferLogEvent.getFormattedMessage() when 
> used in web applications. Thanks to Jose Leon. 
> o LOG4J2-905:  Added ability to disable (date) lookup completely for 
> compatibility with other libraries like Camel. Thanks to Moritz Löser. 
> o LOG4J2-1526:  Added support for setting StatusLogger destination in 
> ConfigurationBuilder. 
> o LOG4J2-1448:  Allow comma separated agents, host list to be passed to 
> FlumeAppender. Thanks to Keith Laban. 
> o LOG4J2-1500:  Merging configurations failed with an NPE when comparing 
> Nodes with different attributes. Thanks to Jose Leon. 
> o LOG4J2-1482:  Fixed improper header in CsvParameterLayout. Thanks to Sumit 
> Singhal. 
> o LOG4J2-1199:  Documented that JVM Input Arguments Lookup (JMX) is not 
> available on Google App Engine. 
> o LOG4J2-1438:  (GC) Added method getParameter() to ObjectMessage (and 
> ReusableObjectMessage). 
> o LOG4J2-1488:  (GC) Fixed ISO8601 %date conversion pattern with a period '.' 
> separator for milliseconds is now garbage free. Thanks to Richard Zschech. 
> o LOG4J2-1489:  (GC) Fixed %date conversion patterns with a timezone 
> parameter are now garbage free. Thanks to Richard Zschech. 
> o LOG4J2-1279:  Prevent NullPointerException in 
> FastDateParser$TimeZoneStrategy. Thanks to Tony Baines. 
> o LOG4J2-1341:  (GC) HighlightConverter and StyleConverter are now GC-free. 
> Thanks to Richard Zschech. 
> o LOG4J2-1467:  [OSGi] Fixed missing import package. Thanks to Ralf, Gary 
> Gregory. 
> o LOG4J2-351:  [OSGi] Fixed wrong Fragment-Host in manifest files. Thanks to 
> Roland Weiglhofer. 
> o LOG4J2-1313:  Properties declared in configuration can now have their value 
> either in the element body or in an attribute named "value". Thanks to 
> Philipp Knobel. 
> o LOG4J2-1235:  
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not 
> working correctly. Thanks to Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky. 
> o LOG4J2-1502:  Fixed issue where CsvParameterLayout and CsvLogEventLayout 
> inserted NUL characters if data starts with {, (, [ or " Thanks to Sumit 
> Singhal. 
> o LOG4J2-1573:  Layout is no longer optional. Thanks to Steffen Offermann. 
> o LOG4J2-1608:  ServletAppender does not provide throwable object to 
> ServletContext. 
> o LOG4J2-1599:  Prevent potential NPE in 
> org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder,
>  char[], int, Object[], int, int[]). 
> o LOG4J2-1600:  Prevent potential NPE due to 
> org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[],
>  String, boolean, boolean, Configuration). 
> o LOG4J2-1601:  Prevent potential NPE due to 
> org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript,
>  PatternMatch[], String, boolean, boolean, Configuration). 
> o LOG4J2-1602:  Prevent potential NPE in 
> org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object)
>  when object is null. 
> o LOG4J2-1603:  Redo hashCode() and equals() methods in 
> org.apache.logging.log4j.core.net.ssl classes. 
> o LOG4J2-1610:  Add targetNamespace to log4j-config.xsd. GitHub #43. Thanks 
> to Shubhankar. 
> o LOG4J2-1619:  new Log4jLogEvent().toString() throws an NPE. 
> 
> Changes:
> o LOG4J2-1604:  Log4j2 TcpSocketServer in background. Thanks to Colin 
> Hillman. 
> o LOG4J2-1574:  Allow the RollingFileAppender to use default pattern layout. 
> o LOG4J2-1556:  Custom Log4j threads now extend Log4jThread. 
> o LOG4J2-1605:  Improve error messages for TcpSocketServer and 
> UdpSocketServer. 
> o LOG4J2-1458:  Updated Jackson from 2.7.5 to 2.8.0. 
> o LOG4J2-1494:  Updated Jackson from 2.8.0 to 2.8.1. 
> o LOG4J2-1569:  Updated Jackson from 2.8.1 to 2.8.2. 
> o LOG4J2-1598:  Updated Jackson from 2.8.2 to 2.8.3. 
> o LOG4J2-1495:  Updated LMAX Disruptor from 3.3.4 to 3.3.5. 
> o LOG4J2-1496:  Updated Kafka client from 0.9.1.0 to 0.10.0.0. 
> o LOG4J2-1533:  Updated Kafka client from 0.10.0.0 to 0.10.0.1. 
> o LOG4J2-1487:  Updated JMS test from ActiveMQ 5.13.3 to 5.13.4. 
> o LOG4J2-1551:  Updated JMS test from ActiveMQ 5.13.4 to 5.14.0. 
> o LOG4J2-1543:  Removed deprecated Core API 
> org.apache.logging.log4j.core.util.Constants.UTF_8. 
> o LOG4J2-1544:  Removed deprecated Core API 
> org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String). 
> o LOG4J2-1545:  Removed deprecated Web API 
> org.apache.logging.log4j.web.WebLookup.getServletContext(). 
> 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.7-rc2”
> b) for an existing working copy to “git pull” and then “git checkout 
> tags/log4j-2.7-rc2”
> 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-1022 
> <https://repository.apache.org/content/repositories/orgapachelogging-1022>
> 
> 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-1022/org/apache/logging/log4j/
>  
> <https://repository.apache.org/content/repositories/orgapachelogging-1022/org/apache/logging/log4j/>
> Ralph
> 

Reply via email to