+1 from me. Ralph
> On Jan 21, 2017, at 11:08 PM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > This is a vote to release Log4j 2.8 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-1032: Make DefaultRolloverStrategy more efficent when renaming > files. Add nomax option to the fileIndex attribute. > o LOG4J2-1101: RollingFileAppender now supports omitting the file name and > writing directly to the archive files. > o LOG4J2-1243: Allow default value in property to be a Lookup. > o LOG4J2-1787: Document how to exclude transitive conflicting dependencies > in Maven and Gradle. > o LOG4J2-1773: Add StatusLoggerRule to allow unit tests to set a status > level. > o LOG4J2-424: Add non-string data type support to JdbcAppender via new > ColumnMapping plugin. > o LOG4J2-1771: Add a Builder to ColumnConfig and deprecate > ColumnConfig.createColumnConfig(). > o LOG4J2-1770: Add a Builder to JdbcAppender and deprecate > JdbcAppender.createAppender(). > o LOG4J2-1764: Use MethodHandle in ContextDataFactory cached constructor. > o LOG4J2-1730: Add Apache Cassandra appender and ColumnMapping plugin. > o LOG4J2-1759: Add TypeConverter for java.util.UUID. > o LOG4J2-1758: Add TypeConverter for java.nio.file.Path. > o LOG4J2-1755: Add TypeConverter and constraint validators for > java.net.InetAddress and port numbers. > o LOG4J2-969: Refactor SyslogAppender so that Layout is a Plugin element. > o LOG4J2-1660: Added public method ThreadContext::getThreadContextMap; > removed class ThreadContextAccess. > o LOG4J2-1379: Add documentation regarding YAML configuration format. > o LOG4J2-1718: Introduce marker interface AsynchronouslyFormattable. > o LOG4J2-1681: Introduce interfaces IndexedStringMap and > IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map. > o LOG4J2-1695: Add a Builder to ScriptPatternSelector and deprecate > ScriptPatternSelector.createSelector(). > o LOG4J2-1696: Add a Builder to MarkerPatternSelector and deprecate > MarkerPatternSelector.createSelector(). > o LOG4J2-1697: Add a SerializerBuilder to PatternLayout and deprecate > PatternLayout.createSerializer(). > o LOG4J2-1701: Add a Builder to RandomAccessFileAppender and deprecate > RandomAccessFileAppender.createAppender(). > o LOG4J2-1703: Add a Builder to MemoryMappedFileAppender and deprecate > MemoryMappedFileAppender.createAppender(). > o LOG4J2-1704: Add a Builder to RollingRandomAccessFileAppender and > deprecate RollingRandomAccessFileAppender.createAppender(). > o LOG4J2-1709: Add a Builder to SyslogAppender and deprecate > SyslogAppender.createAppender(). > o LOG4J2-1707: Allow TCP Socket Appender to set socket options. > o LOG4J2-1708: Allow Secure Socket Appender to set socket options. > o LOG4J2-1737: Add a Builder to SyslogLayout and deprecate > SyslogLayout.createLayout(Facility, boolean, String, Charset). > o LOG4J2-1738: Add a Builder to JsonLayout and deprecate > org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, > boolean, boolean, boolean, boolean, boolean, boolean, String, String, > Charset, boolean). > o LOG4J2-1739: Add Builder to KafkaAppender and deprecate > KafkaAppender.createAppender(Layout, Filter, String, boolean, String, > Property[], Configuration). > o LOG4J2-1733: Add SyncSend attribute to KafkaAppender (as in > KafkaLog4jAppender). Thanks to Vincent Tieleman. > > Fixed Bugs: > o LOG4J2-1780: Eliminate the use of the ExecutorServices in the > LoggerContext. > o LOG4J2-1786: ConfigurationScheduler now preserves interrupt flag during > stop. > o LOG4J2-1779: Fixed bug where AsyncLogger did not resolve configuration > properties. > o LOG4J2-1769: Fixed concurrency issue affecting all layouts except > PatternLayout and GelfLayout, which caused scrambled output and exceptions > when logging synchronously from multiple threads. Thanks to Brandon Goodin. > o LOG4J2-1724: Using variables in GelfLayout's additional fields at runtime. > Thanks to Alexander Krasnostavsky. > o LOG4J2-1762: Add Builder to GelfLayout. > o LOG4J2-1649: Insure the ConfigurationScheduler shuts down without > blocking. Thanks to Georg Friedrich. > o LOG4J2-1653: CronTriggeringPolicy would use the wrong date/time when > rolling over and create multiple triggering policies on reconfiguration. > Thanks to Georg Friedrich. > o LOG4J2-1748: Do not use non-daemon thread pool for rollover tasks. > o LOG4J2-1628: Fixed file locking regression in FileAppender introduced in > 2.6. > o LOG4J2-1744: The custom logger Generate tool no longer requires the > log4j-api module on the classpath. > o LOG4J2-1731: SslSocketManager now respects connectTimeoutMillis. Thanks to > Chris Ribble. > o LOG4J2-1682: Logger using LocalizedMessageFactory prints key instead of > message. Thanks to Markus Waidhofer. > o LOG4J2-1720: Make GelfLayout independent of Jackson. > o LOG4J2-1719: Fixed race condition in ObjectMessage and SimpleMessage, > ensuring that the log message contains the value the object has during the > logging call. > o LOG4J2-1688: Fixed bug where elements of a log message parameter array > were nulled out in garbage-free mode. > o LOG4J2-1692: Add putAll() method to CloseableThreadContext. Thanks to Greg > Thomas. > o LOG4J2-1689: Add CleanableThreadContextMap interface supporting method > removeAll(Iterable<String>). > o LOG4J2-1685: Option 'disableAnsi' in PatternLayout to unconditionally > disable ANSI escape codes. Thanks to Raman Gupta. > o LOG4J2-1706: Make TimeFilter usable as global filter and as logger filter. > o LOG4J2-1722: (GC) Avoid allocating temporary objects in > VariablesNotEmptyReplacementConverter. > o LOG4J2-1717: (GC) Avoid allocating temporary objects in > EncodingPatternConverter. > o LOG4J2-1716: (GC) Avoid allocating temporary objects in > MapPatternConverter. (Note that constructing a MapMessage is not > garbage-free.) > o LOG4J2-1683: (GC) Avoid allocating temporary objects in MapMessage. > o LOG4J2-1715: (GC) Avoid allocating temporary objects in > NdcPatternConverter. (Note that use of the ThreadContext stack is not > garbage-free.) > o LOG4J2-1714: (GC) Avoid allocating temporary objects in > AbstractStyleNameConverter. > o LOG4J2-1680: (GC) Avoid allocating temporary objects in TimeFilter. > o LOG4J2-1679: (GC) Avoid allocating temporary objects in > StructuredDataFilter. > o LOG4J2-1678: (GC) Avoid allocating temporary objects in > ThreadContextMapFilter. > o LOG4J2-1677: (GC) Avoid allocating temporary objects in MapFilter. > o LOG4J2-1674: (GC) Avoid allocating temporary objects in ThresholdFilter. > o LOG4J2-1673: (GC) Avoid allocating temporary objects in MarkerFilter. > o LOG4J2-1672: (GC) Avoid allocating temporary objects in LevelRangeFilter. > o LOG4J2-1671: (GC) Avoid allocating temporary objects in > EqualsIgnoreCaseReplacementConverter. > o LOG4J2-1670: (GC) Avoid allocating temporary objects in > EqualsReplacementConverter. > o LOG4J2-1669: (GC) Avoid allocating temporary objects in > MaxLengthConverter. > o LOG4J2-1668: (GC) Avoid allocating temporary objects in > MarkerPatternConverter. > o LOG4J2-1667: (GC) Avoid allocating temporary objects in > SequenceNumberPatternConverter. > o LOG4J2-1666: (GC) Avoid allocating temporary objects in > RelativeTimePatternConverter. > o LOG4J2-1665: (GC) Avoid allocating temporary objects in > IntegerPatternConverter. > o LOG4J2-1637: Fixed problems when used in OSGi containers > (IllegalAccessError, NoClassDefFoundError). > o LOG4J2-1226: Improve LogEvent serialization to handle non-serializable > Messages and deserializing when required classes are missing. > o LOG4J2-1663: Ensure SortedArrayStringMap can be serialized and > deserialized without errors regardless of content. > o LOG4J2-1658: Prevent NPE in > ThreadContextMapFactory::createThreadContextMap when initializing Log4j with > Configurator::initialize and the BasicContextSelector is used. > o LOG4J2-1645: Immutable empty StringMap. > o LOG4J2-1623: Configurable JVM shutdown hook timeout. > o LOG4J2-1712: Pick up bug fixes from Apache Commons Lang's > org.apache.commons.lang3.time package. > o LOG4J2-1636: Console Appender does not pick up Oracle Java 8's > sun.stdout.encoding and sun.stderr.encoding. Thanks to Eldar Gabdullin. > o LOG4J2-1639: Fix MemoryMappedFileAppender.createAppender() Javadoc for > immediateFlush. Thanks to Sridhar Gopinath. > o LOG4J2-1676: Some LogEvents may not carry a Throwable (Use > Message.getThrowable() in log(Message) methods.) Thanks to Joern Huxhorn. > o LOG4J2-1723: Unwanted transitive dependency on geronimo-jms_1.1_spec > causes OSGi tests to fail. Thanks to Ludovic HOCHET. > o LOG4J2-1664: Improve OSGi unit tests. Thanks to Ludovic HOCHET. > o LOG4J2-1687: NPE in ThrowableProxy when resolving stack in Java EE/OSGi > environment. Thanks to Robert Christiansen. > o LOG4J2-1642: DefaultShutdownCallbackRegistry can throw a > NoClassDefFoundError. Thanks to Johno Crawford. > o LOG4J2-1474: CronTriggeringPolicy raise exception and fail to rollover log > file when evaluateOnStartup is true. Thanks to yin mingjun, Neon. > o LOG4J2-1734: SslSocketManagerFactory might leak Sockets when certain > startup errors occur. > o LOG4J2-1736: TcpSocketManagerFactory might leak Sockets when certain > startup errors occur. > o LOG4J2-1740: Add CronTriggeringPolicy programmatically leads to NPE. > o LOG4J2-1743: CompositeConfiguration does not add filters to appenderRefs. > Thanks to Toby Shepheard. > o LOG4J2-1756: Adds xmlns in schema and some other tags. Thanks to > shubhankar1100. > > Changes: > o LOG4J2-1781: Update Conversant Disruptor from 1.2.7 to 1.2.10 > o LOG4J2-1774: Replace MockEJB dependency in unit tests with Spring Test and > Mockito. > o LOG4J2-1644: Inefficient locking in AbstractLoggerAdapter. Thanks to Tim > Gokcen, Pavel Sivolobtchik. > o LOG4J2-1641: Update JeroMQ from 0.3.5 to 0.3.6. > o LOG4J2-1647: Update Commons Lang from 3.4 to 3.5. > o LOG4J2-1646: Migrate to Mockito 2.x in unit tests. > o LOG4J2-1655: Update Jackson from 2.8.3 to 2.8.4. > o LOG4J2-1735: Update Jackson from 2.8.4 to 2.8.5. > o LOG4J2-1656: Update Apache Flume from 1.6.0 to 1.7.0. > o LOG4J2-1698: Update LMAX Disruptor from 3.3.5 to 3.3.6. > o LOG4J2-1700: Update Jansi from 1.13 to 1.14. > o LOG4J2-1750: Update Kafka from 0.10.0.1 to 0.10.1.1. > o LOG4J2-1751: Update liquibase-core from 3.5.1 to 3.5.3. > o LOG4J2-1302: The log4j-slf4j-impl module now declares a runtime dependency > on log4j-core. While not technically required, this makes the > log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates > migration to Log4j 2. > 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.8-rc1” > b) for an existing working copy to “git pull” and then “git checkout > tags/log4j-2.8-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-1024 > <https://repository.apache.org/content/repositories/orgapachelogging-1024> > > 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-1024/org/apache/logging/log4j/ > > <https://repository.apache.org/content/repositories/orgapachelogging-1024/org/apache/logging/log4j/> > Ralph >