You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2014/06/22 00:39:59 UTC

svn commit: r1604483 - in /logging/log4j/log4j2/trunk: RELEASE-NOTES.txt pom.xml src/changes/announcement.vm src/changes/changes.xml

Author: rgoers
Date: Sat Jun 21 22:39:59 2014
New Revision: 1604483

URL: http://svn.apache.org/r1604483
Log:
Prepare for release

Modified:
    logging/log4j/log4j2/trunk/RELEASE-NOTES.txt
    logging/log4j/log4j2/trunk/pom.xml
    logging/log4j/log4j2/trunk/src/changes/announcement.vm
    logging/log4j/log4j2/trunk/src/changes/changes.xml

Modified: logging/log4j/log4j2/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/RELEASE-NOTES.txt?rev=1604483&r1=1604482&r2=1604483&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/RELEASE-NOTES.txt (original)
+++ logging/log4j/log4j2/trunk/RELEASE-NOTES.txt Sat Jun 21 22:39:59 2014
@@ -1,118 +1,104 @@
 
-              Apache Log4j 2.0-rc1 RELEASE NOTES
+              Apache Log4j 2.0-rc2 RELEASE NOTES
 
-The Apache Log4j 2 team is pleased to announce the Log4j 2.0-rc1 release!
+The Apache Log4j 2 team is pleased to announce the Log4j 2.0-rc2 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 of the improvements available in Logback while fixing some inherent problems in Logback's
 architecture.
 
-This is the eleventh release of Log4j 2 and is being made available to encourage use and feedback from the community.
+It is the Log4j team's intention that this will be the final release candidate Log4j 2 before general availability and
+is being made available to encourage use and feedback from the community.
 
 Bug fixes and enhancements
 
-This release contains several changes that break binary and backwards compatibility with previous versions. Please read
-the release notes correctly so that you can adjust your usage of Log4j 2, if necessary.
-
 Changes in this version include:
 
 New features:
-o LOG4J2-530:  (JMX) JMX Client GUI should dynamically update when LoggerContext MBeans are registered/unregistered in MBean
-        server. 
-o LOG4J2-479:  ThreadContext now uses plain ThreadLocal by default, unless system property
-        isThreadContextMapInheritable has value "true". Thanks to MK. 
-o LOG4J2-481:  Add Stream interface to Loggers. Thanks to Matt Sicker. 
-o LOG4J2-482:  Documentation fix: The attribute of Route to refer to an appender is "ref" not "AppenderRef". Thanks to Hongdi Ren. 
-o LOG4J2-467:  Added option to toggle Thread name caching in AsyncLogger. Thanks to Anthony Baldocchi. 
-o LOG4J2-423:  Added MBeans for instrumenting AsyncAppenders and AsyncLogger RingBuffers,
-        exposing queue size, remaining capacity and other attributes. 
-o LOG4J2-420:  Create a lookup for resource bundle substitution. 
-o LOG4J2-415:  Format log event time as UNIX time (seconds or milliseconds). 
-o LOG4J2-401:  Configure FileAppender buffer size. 
-o LOG4J2-402:  Configure RandomAccessFileAppender buffer size. 
+o LOG4J2-675:  RollingFile and RollingRandomAccessFile now write the layout footer before rollover. 
+o LOG4J2-674:  Made RollingFileAppender buffer size configurable. 
+o LOG4J2-42:  Create an appender to route log events to the ServletContext log. 
+o LOG4J2-655:  Add Vagrantfile for testing in GNU+Linux. 
+o LOG4J2-654:  Add log4j-perf module to provide a home for all log4j performance tests.
+        Add support for JMH microbenchmark performance tests. 
+o LOG4J2-652:  Add support for default plugin values and attributes. 
+o LOG4J2-598:  Add support for types other than String for plugin factory values/attributes. 
+o LOG4J2-644:  Implement a SecureSocketAppender and secure server (SSL/TLS). 
+o LOG4J2-629:  Document the system properties used in Log4J 2. 
+o LOG4J2-595:  Introduce Java annotation processor as alternative plugin pre-caching mechanism. This is available in the
+          log4j-plugin-processor module. 
+o LOG4J2-576:  Add org.apache.logging.log4j.Logger.getLevel(). 
+o LOG4J2-439:  Add EncodingPatternConverter to escape newlines and HTML special characters. Thanks to Bruce Brouwer. 
+o LOG4J2-427:  Add support for configuration via YAML. Thanks to Alexander Reelsen. 
 
 Fixed Bugs:
-o LOG4J2-500:  (JMX - ObjectNames changed!) Unloading one web application unloads JMX MBeans for all web applications. 
-o LOG4J2-531:  Fixed bugs where rolled log files were overwritten by RollingFile appender with 
-        composite time and size based policies. Thanks to Geoff Ballinger. 
-o LOG4J2-475:  Changed the MongoDBConnection to add a MongoDB encoding hook instead of a decoding hook. Thanks to Matt Sicker. 
-o LOG4J2-489:  Fixed the JPAAppender's overuse of transactions by connecting (borrowing from pool) on new write internal or on
-        flush. 
-o LOG4J2-457:  Fixed failure of JDBC and JPA appender to properly release database connections by connecting (borrowing from
-        pool) on new write internal or on flush. 
-o LOG4J2-442:  Fixed problem with JDBC and JPA appender connectivity in WebSphere by connecting (borrowing from pool) on new
-        write internal or on flush. 
-o LOG4J2-438:  Ensured the JDBCAppender commits transactions after a single write or a flush of multiple writes. 
-o LOG4J2-407:  Fixed inability to recover from lost database connection in database appenders by connecting (borrowing from
-        pool) on new write internal or on flush. 
-o LOG4J2-511:  Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first
-        before stopping other appenders. Thanks to James Pretorius. 
-o LOG4J2-392:  Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first
-        before stopping other appenders. Thanks to ilynaf, Andre Bogus. 
-o LOG4J2-345:  (OSGi) logging.log4j-1.2-api doesn't export the log4j API 1.2. Dependent bundles can not be resolved. Thanks to Roland Weiglhofer, Matt Sicker. 
-o LOG4J2-523:  LocalizedMessage serialization is broken. 
-o LOG4J2-385:  Fixed issues with time-based file rollover (monthly, weekly, hourly and every minute). Thanks to Ace Funk, Porfirio Partida. 
-o LOG4J2-452:  Added a ServletContext attribute that, when set to "true", disables Log4j's auto-initialization in
-        Servlet 3.0+ web applications. 
-o LOG4J2-512:  Exposed Log4j web support interface and methods and the LoggerContext through ServletContext attributes
-        so that threads not affected by filters (such as asynchronous threads) can utilize the LoggerContext. Also
-        updated the Log4j filter so that it supports async. Thanks to Chandra Sekhar Kakarla, Matt Sicker. 
-o LOG4J2-409:  Created a utility to properly escape backslashes before creating URIs, and changed URI creation to use the
-        utility instead of instantiating URI directly. Thanks to Frank Steinmann, Thomas Neidhart. 
-o LOG4J2-344:  Changed the Servlet 3.0 auto-initializer to add the filter by class to get around a WebLogic bug. Thanks to Keir Lawson, Tomasz Wladzinski. 
-o LOG4J2-359:  Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This
-        ensures behavioral consistency across containers. This includes additional fixes to abort initialization if a
-        duplicate filter already exists and to check the actual Servlet EFFECTIVE version. Thanks to Abhinav Shah. 
-o LOG4J2-517:  Switch in log4j-1.2-api Category.getEffectiveLevel has no cases for FATAL, OFF. 
-o LOG4J2-406:  (JMX) Unregister all log4j JMX MBeans when the LoggerContext is stopped
-        to allow web application classes to be GC-ed on undeploy. Thanks to Kerrigan Joseph. 
-o LOG4J2-405:  Configuration was being processed twice at startup. 
-o LOG4J2-398:  Configure properties and setup Interpolator before processing rest of configuration. 
-o LOG4J2-470:  hostName property was not being set until after the first configuration element. 
-o LOG4J2-464:  Support arrays as sub-elements of a JSON configuration. 
-o LOG4J2-492:  (JMX) Fixed MalformedObjectNameException if context name contains '=' or newline characters. Thanks to Shaddy Baddah, Herlani Junior. 
-o LOG4J2-377:  (OSGi) Fix NPE during shutdown. Thanks to Roland Weiglhofer, Matt Sicker. 
-o LOG4J2-463:  Fixed documentation for MyApp example application in the Automatic Configuration section Thanks to Michael Diamond, Matt Sicker. 
-o LOG4J2-408:  Fixed error in documentation code example in manual/eventlogging.html Thanks to Dongqing Hu, Matt Sicker. 
-o LOG4J2-451:  Fixed typo in documentation: system property should be log4j2.loggerContextFactory Thanks to Vinay Pothnis, Matt Sicker. 
-o LOG4J2-443:  Fixed issue where log4j2 LoggerContext did not show up in JMX GUI or JConsole. Thanks to Colin Froggatt, Tudor Har. 
-o LOG4J2-485:  Fixed issue where toString methods that perform logging could deadlock AsyncAppender. 
-o LOG4J2-445:  ResolverUtil cannot find packages in file URLs which include the '+' character. Thanks to Anthony Baldocchi. 
-o LOG4J2-430:  Use the formatted Message in RFC5424Layout for non-StructuredDataMessages. Thanks to David Gstir. 
-o LOG4J2-459:  Set external context when constructing the LoggerContext. 
-o LOG4J2-466:  Cannot load log4j2 config file if path contains plus '+' characters. Thanks to Jan Tepke. 
-o LOG4J2-462:  Fix LogEvent to never return null Level, fixes LevelPatternConverter.format may throw NPE. Thanks to Daisuke Baba. 
-o LOG4J2-465:  Fix LogEvent to never return null Level, fixes ThresholdFilter throws NPE. Thanks to Daisuke Baba. 
-o LOG4J2-471:  Fixed issue where toString methods that perform logging could deadlock AsyncLogger. Thanks to Anthony Baldocchi. 
-o LOG4J2-478:  The message and ndc fields are not JavaScript escaped in JSONLayout. Thanks to Michael Friedmann.. 
-o LOG4J2-455:  RingBufferLogEvent should return Message timestamp for TimestampMessage messages. Thanks to Robin Zhang Tao. 
-o LOG4J2-477:  NPE in ClassLoaderContextSelector. Thanks to Tal Liron. 
-o LOG4J2-454:  TimeBasedTriggeringPolicy should use event time millis. Thanks to Robin Zhang Tao. 
-o LOG4J2-472:  BaseConfiguration class does not properly implement Configuration interface. Thanks to Tal Liron. 
-o LOG4J2-447:  XMLLayout does not include marker name. Thanks to Jeff Hudren, Mark Paluch, Scott Deboy. 
-o LOG4J2-323:  Resolved memory leak by releasing reference to ThreadLocal when
-        AsyncLogger is stopped. 
-o LOG4J2-425:  Resolved memory leak by populating AsyncLoggerConfigHelper ring buffer
-        via EventTranslatorTwoArg, eliminating the need for a ThreadLocal. 
-o LOG4J2-417:  Fix Event Level / LoggerConfig Level table at the architecture documentation page. 
-o LOG4J2-404:  @EnterpriseNumber" was missing in the ID of structured data when RFC5424Layout is used Thanks to Kamal Bahadur. 
-o LOG4J2-379:  Fixed issue that prevented Log4J from working in Google App Engine. 
+o LOG4J2-581:  RollingRandomAccessFile now writes the layout header after rollover. Thanks to Alexander Khokhlov. 
+o LOG4J2-622:  RollingFileManager now correctly honours the bufferedIO configuration after rollover. Thanks to Farooq Khan. 
+o LOG4J2-141:  Improved documentation regarding log4j status logger. Thanks to Joern Huxhorn. 
+o LOG4J2-539:  Fixed issue with "Reconfigure using XML below" function in JMX Client GUI.
+        ConfigurationSource is now a top-level class and can be obtained with Configuration.getConfigurationSource().
+        LoggerContext.getConfiguration().getConfigurationSource() 
+        provides a reliable public method for obtaining a logger context's configuration location and content. Thanks to Colin Froggatt. 
+o LOG4J2-619:  Invalid XML configuration files do not prevent the config file from being checked again. Thanks to Scott Harrington. 
+o LOG4J2-637:  JMX: Updating a Logger's level via jConsole now correctly takes effect. Thanks to Mansoor Sajjad, Jon Wilmoth. 
+o LOG4J2-668:  Correctly process log events when combining AsyncLoggers with AsyncAppender. 
+o LOG4J2-669:  Prevent NPE when combining AsyncLoggers with AsyncLoggerConfigs. 
+o LOG4J2-563:  FlumeAvroManager now always uses a client type of default_failover. Thanks to Michael Friedmann. 
+o LOG4J2-535:  Reset rollover time when size rollover is triggered. 
+o LOG4J2-664:  Moved plugin cache file to META-INF for OSGi compatibility. 
+o LOG4J2-640:  Fix NPE that can be caused by a null ThreadContextClassLoader. 
+o LOG4J2-651:  Log4j 2 throws ArrayIndexOutOfBoundsException. 
+o LOG4J2-620:  Perform reconfiguration in a separate thread to prevent deadlocks. 
+o LOG4J2-639:  Prevent NPE in AsyncLogger and AsyncLoggerConfig if logger is used after log4j has been shut down. Thanks to Mck SembWever. 
+o LOG4J2-469:  FailoverAppender was not resetting its status after the primary appender recovered. 
+o LOG4J2-623:  Generate MDC properties as a JSON map in JSONLayout. 
+o LOG4J2-520:  Resolved issue where AsyncAppender dropped events if queue still contained
+        events when application is stopped. Thanks to JavaTech, Andre Bogus. 
+o LOG4J2-392:  Resolved a problem with the previous solution for LOG4J2-392 that resulted in dropped events
+        when using AsyncLoggerConfig with slow appenders when application is stopped. Thanks to Andre Bogus. 
+o LOG4J2-613:  The OSGi version of log4j-web imports Servlet 2.5 at minimum instead of 3.0. 
+o LOG4J2-602:  Unit tests are now less verbose during the build process. 
+o LOG4J2-570:  Fix shutdown thread memory leak in servlet containers. 
+o LOG4J2-542:  Make Throwable transient in ThrowableProxy. 
+o LOG4J2-440:  During shutdown, a NullPointerException could be thrown due to the NullConfiguration class no longer being
+        available to the ClassLoader. 
+o LOG4J2-346:  Cyclic dependency with log4j-slf4j-impl in OSGi. 
+o LOG4J2-345:  The log4j-1.2-api module didn't export any packages to OSGi. 
+o LOG4J2-605:  Password data from the NoSQL plugins no longer shows up in cleartext in debug logging. 
+o LOG4J2-448:  A StringIndexOutOfBounds exception could occur during property substitution. Thanks to X86core. 
+o LOG4J2-597:  StatusLogger was not skipping multiple instances of the FQCN class, causing messages from classes in
+        the Verbose list to be printed. 
+o LOG4J2-564:  Renamed SLF4J logger class to Log4jLogger. 
+o LOG4J2-579:  Rework Level comparison APIs. 
+o LOG4J2-560:  SyslogAppenderTest and RFC5424LayoutTest were failing in Java 8. 
+o LOG4J2-499:  Add equals and hashcode to Log4jLogEvent. 
+o LOG4J2-378:  Add DateLookup and ThreadContextLookup to default lookups. 
 
 Changes:
-o Renamed the org.apache.logging.log4j.core.appender.db.nosql.mongo package to
-        org.apache.logging.log4j.core.appender.db.nosql.mongodb. 
-o Renamed the org.apache.logging.log4j.core.appender.db.nosql.couch package to
-        org.apache.logging.log4j.core.appender.db.nosql.couchdb. 
-o LOG4J2-507:  Space Level numbers by 100 instead of 1. 
-o LOG4J2-41:  Add support for custom logging levels. Thanks to Nick Williams. 
-o LOG4J2-490:  Update EasyMock to version 3.2. Thanks to Matt Sicker. 
-o LOG4J2-453:  Update Flume Appender to use Flume 1.4.0. 
-o LOG4J2-528:  Rename package org.apache.logging.log4j.core.appender.rolling.helper to org.apache.logging.log4j.core.appender.rolling.action. 
-o LOG4J2-532:  Resource leak in Flume appender when it cannot create a BerkeleyDB db. 
+o LOG4J2-419:  Support default value for missing key in look ups with fallbacking to looking in the properties map. Thanks to Woonsan Ko. 
+o LOG4J2-554:  Allow configuration files to be located as Servlet Context resources. 
+o LOG4J2-250:  Refactor Log4jLogEvent to lazily create ThrowableProxy. 
+o LOG4J2-647:  Upgrade to Flume 1.5.0. 
+o LOG4J2-646:  Merge the TLS Syslog appender into the Syslog appender. 
+o LOG4J2-641:  Override commons-logging dependency version in tests. 
+o LOG4J2-566:  Made RollingRandomAccessFileAppender buffer size configurable. Thanks to Luigi Alice. 
+o LOG4J2-628:  Use Clock to generate all log event timestamps, not just for Async Loggers. 
+o LOG4J2-617:  Update SLF4J to 1.7.7. 
+o LOG4J2-616:  Update Jackson to 2.3.3. 
+o LOG4J2-585:  Add support for multiple parents to Markers. Thanks to Bruce Brouwer. 
+o LOG4J2-574:  Make Blocking the default WaitStrategy for Async Loggers. 
+o LOG4J2-555:  Introduce ExtendedLogger interface to facilitate implementing and extending Loggers. Thanks to Bruce Brouwer. 
+o LOG4J2-561:  Allow spaces around commas in Configuration's package attribute. Thanks to vibin. 
+o LOG4J2-547:  Have Logger API expose a PrintWriter instead of custom LoggerStream. Thanks to Bruce Brouwer. 
+o LOG4J2-496:  Allow header and footer to be specified as lookup patterns in PatternLayout. 
+o LOG4J2-410:  SLf4JLogger is now Serializable. Thanks to Ivlin Zeng. 
+o LOG4J2-468:  Add support to add a LoggerConfig. Document two ways to modify the configuration. 
+o LOG4J2-582:  Rename org.apache.logging.log4j.core.net.SocketServer to TCPSocketServer and refactor with UDP. 
+o LOG4J2-592:  Update Jackson to 2.3.2 from 2.2.2. 
 
 
-Apache Log4j 2.0-rc1 requires a minimum of Java 6 to build and run. Basic compatibility with
+Apache Log4j 2.0-rc2 requires a minimum of Java 6 to build and run. 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.

Modified: logging/log4j/log4j2/trunk/pom.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/pom.xml?rev=1604483&r1=1604482&r2=1604483&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/pom.xml (original)
+++ logging/log4j/log4j2/trunk/pom.xml Sat Jun 21 22:39:59 2014
@@ -154,7 +154,7 @@
     <logback.version>1.0.13</logback.version>
     <log4jParentDir>${basedir}</log4jParentDir>
     <Log4jReleaseVersion>2.0-rc2</Log4jReleaseVersion>
-    <Log4jReleaseCount>eleventh</Log4jReleaseCount>
+    <Log4jReleaseCount>thirteenth</Log4jReleaseCount>
     <jackson1.version>1.9.13</jackson1.version>
     <jackson2.version>2.3.3</jackson2.version>
     <spring.version>3.2.8.RELEASE</spring.version>

Modified: logging/log4j/log4j2/trunk/src/changes/announcement.vm
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/announcement.vm?rev=1604483&r1=1604482&r2=1604483&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/announcement.vm (original)
+++ logging/log4j/log4j2/trunk/src/changes/announcement.vm Sat Jun 21 22:39:59 2014
@@ -26,7 +26,8 @@ Log4j that provides significant improvem
 many of the improvements available in Logback while fixing some inherent problems in Logback's
 architecture.
 
-This is the ${relCount} release of Log4j 2 and is being made available to encourage use and feedback from the community.
+It is the Log4j team's intention that this will be the final release candidate Log4j 2 before general availability and
+is being made available to encourage use and feedback from the community.
 
 ## Hack to improve layout: replace all pairs of spaces with a single new-line
 $release.description.replaceAll("  ", "

Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1604483&r1=1604482&r2=1604483&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Sat Jun 21 22:39:59 2014
@@ -21,7 +21,7 @@
     <title>Changes</title>
   </properties>
   <body>
-    <release version="2.0-rc2" date="2014-MM-DD" description="Bug fixes and enhancements">
+    <release version="2.0-rc2" date="2014-06-21" description="Bug fixes and enhancements">
       <action issue="LOG4J2-675" dev="rpopma" type="add">
         RollingFile and RollingRandomAccessFile now write the layout footer before rollover.
       </action>
@@ -40,7 +40,7 @@
       <action issue="LOG4J2-539" dev="rpopma" type="fix" due-to="Colin Froggatt">
         Fixed issue with "Reconfigure using XML below" function in JMX Client GUI.
         ConfigurationSource is now a top-level class and can be obtained with Configuration.getConfigurationSource().
-        LoggerContext.getConfiguration().getConfigurationSource() 
+        LoggerContext.getConfiguration().getConfigurationSource()
         provides a reliable public method for obtaining a logger context's configuration location and content.
       </action>
       <action issue="LOG4J2-619" dev="rgoers" type="fix" due-to="Scott Harrington">