Author: nickwilliams
Date: Sat Feb 8 16:46:45 2014
New Revision: 1566045
URL: http://svn.apache.org/r1566045
Log:
Preparing to release rc1
Modified:
logging/log4j/log4j2/trunk/RELEASE-NOTES.txt
logging/log4j/log4j2/trunk/pom.xml
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=1566045&r1=1566044&r2=1566045&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/RELEASE-NOTES.txt (original)
+++ logging/log4j/log4j2/trunk/RELEASE-NOTES.txt Sat Feb 8 16:46:45 2014
@@ -1,7 +1,7 @@
- Apache Log4j 2.0-beta9 RELEASE NOTES
+ Apache Log4j 2.0-rc1 RELEASE NOTES
-The Apache Log4j 2 team is pleased to announce the Log4j 2.0-beta9 release!
+The Apache Log4j 2 team is pleased to announce the Log4j 2.0-rc1 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
@@ -12,97 +12,104 @@ This is the eleventh release of Log4j 2
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-399: Allow the default file rollover strategy to define the
compression level.
-o LOG4J2-338: Add TLSAppender. Also added missing license headers to several
files. Thanks to Tibor Benke.
-o LOG4J2-253: Added FAQ page to the site.
-o LOG4J2-362: Add a diagram to the site (FAQ page) that explains when to use
which jar.
-o LOG4J2-374: Add more options to PatternLayout to display more detailed
information about a Throwable. Thanks to Tibor Benke.
-o LOG4J2-383: [Pattern Layout] Customize level names by length.
-o LOG4J2-384: [Pattern Layout] Customize level names to lower-case.
-o LOG4J2-364: Add WebLookup to retrieve information from the ServletContext.
Thanks to David Nault.
-o LOG4J2-360: Allow Plugins to have aliases.
-o LOG4J2-356: Create a JSON Layout.
-o LOG4J2-341: Enable XInclude for XML configurations.
-o LOG4J2-313: Add JNDILookup plugin. Thanks to Woonsan Ko.
-o LOG4J2-305: Ease porting from 1.x Logger.getRootLogger(): add
LogManager.getRootLogger().
+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.
Fixed Bugs:
-o LOG4J2-226: Fix table of contents generation in pdf.
-o LOG4J2-395: Allow classpath scheme when specifying configuration file
location as a system property. Thanks to Abhinav Shah.
-o LOG4J2-393: Initialize PluginManager once during configuration. Move
advertisement setup into BaseConfiguration.
-o LOG4J2-391: FlumePersistentManager now handles LockConflictExceptions in
Berkeley Db. Thanks to Kamal Bahadur.
-o LOG4J2-380: Use rollover date when substituting ${date} in the filePattern.
-o LOG4J2-322: Centralized reflective use of Reflection#getCallerClass and
properly handled its instability in various versions
- of Java.
-o LOG4J2-293: Reset the Configuration if the ClassLoaderContextSelector
creates a LoggerContext without a configuration
- location and then is later provided one.
-o LOG4J2-293: Changed the ConfigurationFactory to recognize and properly use
the classpath: URI scheme in addition to the
- classloader: URI scheme. Thanks to Abhinav Shah.
+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-500: (JMX) Unloading one webapp unloads JMX MBeans for all webapps.
+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. Thanks to Abhinav
Shah.
-o LOG4J2-310: Fixed issue where SMTPAppender did not send mails with error or
fatal level without prior info event. Thanks to Olivier Lemasle.
-o LOG4J2-368: Add PatternLayout constructor to Log4j 1.2 bridge for Velocity.
-o LOG4J2-333: Match artifact ids with Maven module names. Thanks to Hervé
Boutemy.
-o LOG4J2-367: JMS appenders send two messages for one append. Thanks to David
Parry.
-o LOG4J2-319: Double stack trace logging when using %throwable in %style and
%highlight.
-o LOG4J2-358: NoSQLAppender using MongoDB provider ignores username and
password attributes
-o LOG4J2-343: Removed unnecessary generics from Appender interface and
implementing classes. Thanks to Henning Schmiedehausen.
-o LOG4J2-351: [OSGi] wrong Fragment-Host in manifest files. Thanks to Roland
Weiglhofer.
-o LOG4J2-336: AsyncLogger errors after multiple calls to
LoggerContext.reconfigure(). Thanks to Andre Bogus.
-o LOG4J2-347: Give the AsyncAppender thread a more descriptive name for
easier debugging/profiling. Thanks to David Phillips.
-o LOG4J2-332: Modified documentation to refer to SLF4J Binding instead of
SLF4J Bridge. Thanks to Hervé Boutemy.
-o LOG4J2-342: Ignore xml:base attributes.
-o LOG4J2-309: Insure jars and distributions only have a single License and
Notice file.
-o LOG4J2-320: JPAAppender stops logging because
META-INF/log4j-provider.properties is left open.
-o LOG4J2-335: FlumePersistentManager's writer thread had high CPU usage.
-o LOG4J2-331: Removed erroneous check for affected MongoDB records, which
always returns zero on inserts.
-o LOG4J2-330: Added a BSON Transformer so that MongoDB can persist Log4j
events.
-o LOG4J2-329: StatusLogger now only creates StatusData objects if they are
the appropriate logging level.
-o LOG4J2-328: FlumePersistentManager was calling Berkeley DB's count method
too frequently.
-o LOG4J2-280: Additional fix to make AsyncAppender threads daemon threads and
improve their thread name.
-o LOG4J2-165: The slf4j-ext jar is now an optional dependency of the SLF4J
bridge.
-o LOG4J2-166: RoutingAppender's default Route can now be an appender
reference.
-o LOG4J2-299: Add getThrowable method to ThrowableProxy.
-o LOG4J2-216: ThrowableProxy no longer extends Throwable.
-o LOG4J2-311: Synchronized flush() and close() methods in the XxxFileManager
and OutputStreamManager classes.
-o LOG4J2-304: Fixed Async Loggers memory leak.
-o LOG4J2-291: Fixed JDBC, JPA, and NoSQL appenders so that the failover
appender properly fails over on error.
-o LOG4J2-397: Logger.info(Message) Javadoc is incorrect. Thanks to Yonatan
Graber.
+ 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.
Changes:
-o LOG4J2-317: Renamed FastFileAppender and FastRollingFileAppender to
RandomAccessFileAppender
- and RollingRandomAccessFileAppender. Configurations using the
Fast(Rolling)File element
- no longer work and should be modified to use the
(Rolling)RandomAccessFile element.
-o Changed the "suppressExceptions" configuration attribute for all Appenders
to "ignoreExceptions" to avoid
- confusion with Java 7 suppressed exceptions. Also renamed the
Appender#isExceptionSuppressed() method to
- Appender#ignoreExceptions() to avoid the same confusion. All Appenders
by default internally log and then ignore
- exceptions encountered while logging. Setting "ignoreExceptions" to
"false" on an Appender causes it to allow
- exceptions to propagate to the caller. You must set "ignoreExceptions"
to "false" for Appenders you are wrapping
- in the Failover Appender.
-o Changed the (relatively new) PatternLayout configuration attribute
"suppressExceptions" to
- "alwaysWriteExceptions" to more correctly indicate what it does. As
such, the meaning of this attribute has
- reversed (previous "true"s should become "false"s, and vice versa).
Since this was an undocumented attribute up
- until now, it's unlikely this change will affect any users.
-o LOG4J2-355: Add support for multiple SD-ELEMENTs in a RFC 5424 syslog
message. Thanks to Tibor Benke.
-o Cleaned up tests and cleared up documentation for the JPA appender following
the resolution of EclipseLink
- issue #412454.
-o LOG4J2-318: Allow shutdown hook to be disabled in the configuration.
-o LOG4J2-312: XML layout improvements (compact vs. pretty, namespace,
namespace prefix, root element).
-o LOG4J2-388: Update Java Mail dependency to 1.5.0 from 1.4.7.
-o LOG4J2-325: Update JDBC tests to use H2 database 1.3.173 from 1.3.172.
-o LOG4J2-366: Update commons-logging to 1.1.3 from 1.1.1.
-o LOG4J2-390: Update HSQLDB dependency to 2.3.0 from 2.2.9.
-o LOG4J2-308: Clarified which library versions were used in Async Loggers
performance test.
-o LOG4J2-307: Updated Async Loggers' LMAX Disruptor library from 3.0.1 to
3.2.0.
-o LOG4J2-306: Update JSON Jackson library to 2.2.2 from 2.2.1.
-o LOG4J2-387: Update Jackson dependency to 1.9.13 from 1.9.11.
-o Improved site by adding quick jump-off page and menu for Javadoc links for
all components.
+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-41: Add support for custom logging levels. Thanks to Nick Williams.
+o LOG4J2-507: Space Level numbers by 100 instead of 1.
+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.
-Apache Log4j 2.0-beta9 requires a minimum of Java 6 to build and run. Basic
compatibility with
+Apache Log4j 2.0-rc1 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=1566045&r1=1566044&r2=1566045&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/pom.xml (original)
+++ logging/log4j/log4j2/trunk/pom.xml Sat Feb 8 16:46:45 2014
@@ -134,7 +134,7 @@
<slf4j.version>1.7.5</slf4j.version>
<logback.version>1.0.13</logback.version>
<log4jParentDir>${basedir}</log4jParentDir>
- <Log4jReleaseVersion>2.0-beta9</Log4jReleaseVersion>
+ <Log4jReleaseVersion>2.0-rc1</Log4jReleaseVersion>
<Log4jReleaseCount>eleventh</Log4jReleaseCount>
<jackson1.version>1.9.13</jackson1.version>
<jackson2.version>2.2.2</jackson2.version>
Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1566045&r1=1566044&r2=1566045&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Sat Feb 8 16:46:45 2014
@@ -20,11 +20,7 @@
<title>Changes</title>
</properties>
<body>
- <release version="2.0-rc1" date="2014-MM-DD" description="Bug fixes and
enhancements">
- <action type="update">
- 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.
- </action>
+ <release version="2.0-rc1" date="2014-02-08" description="Bug fixes and
enhancements">
<action dev="nickwilliams" type="update">
Renamed the org.apache.logging.log4j.core.appender.db.nosql.mongo
package to
org.apache.logging.log4j.core.appender.db.nosql.mongodb.