logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Williams <nicho...@nicholaswilliams.net>
Subject [VOTE] Log4j 2.0-rc1 rc1
Date Sat, 08 Feb 2014 20:28:24 GMT
This is a vote to release Log4j 2.0-rc1, the twelfth release of Log4j 2.0.

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. 

Fixed Bugs:
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. 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 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.

Please test and cast your votes.
[ ] +1, release the artifacts
[ ] -1, don't release because...

The vote will remain open for 72 hours (or more if required).

Tag: http://svn.apache.org/viewvc/logging/log4j/log4j2/tags/log4j-2.0-rc1/

SVN revision: 1566106

Website: http://people.apache.org/~nickwilliams/log4j/

Artifacts: https://repository.apache.org/content/repositories/orgapachelogging-1000/

The artifacts may be downloaded using
wget -e robots=off --cut-dirs=3 -r -p -np --no-check-certificate https://repository.apache.org/content/repositories/orgapachelogging-1000/org/apache/logging/log4j/

Description:

2.0-rc1 rc1

Details:

The following artifacts have been staged to the org.apache.logging-1000 (u:nickwilliams, a:69.180.246.95)
repository.

archetype-catalog.xml
log4j-jmx-gui-2.0-rc1-javadoc.jar
log4j-jmx-gui-2.0-rc1.jar
log4j-jmx-gui-2.0-rc1-sources.jar
log4j-jmx-gui-2.0-rc1.jar.asc
log4j-jmx-gui-2.0-rc1-javadoc.jar.asc
log4j-jmx-gui-2.0-rc1-sources.jar.asc
log4j-jmx-gui-2.0-rc1.pom.asc
log4j-jmx-gui-2.0-rc1.pom
log4j-slf4j-impl-2.0-rc1-javadoc.jar.asc
log4j-slf4j-impl-2.0-rc1.jar.asc
log4j-slf4j-impl-2.0-rc1-javadoc.jar
log4j-slf4j-impl-2.0-rc1.jar
log4j-slf4j-impl-2.0-rc1-sources.jar
log4j-slf4j-impl-2.0-rc1-sources.jar.asc
log4j-slf4j-impl-2.0-rc1.pom.asc
log4j-slf4j-impl-2.0-rc1.pom
log4j-samples-2.0-rc1.pom
log4j-samples-2.0-rc1.pom.asc
log4j-samples-flume-common-2.0-rc1-sources.jar.asc
log4j-samples-flume-common-2.0-rc1.jar
log4j-samples-flume-common-2.0-rc1.pom.asc
log4j-samples-flume-common-2.0-rc1-javadoc.jar.asc
log4j-samples-flume-common-2.0-rc1-javadoc.jar
log4j-samples-flume-common-2.0-rc1.pom
log4j-samples-flume-common-2.0-rc1-sources.jar
log4j-samples-flume-common-2.0-rc1.jar.asc
log4j-jcl-2.0-rc1-javadoc.jar
log4j-jcl-2.0-rc1.jar
log4j-jcl-2.0-rc1-javadoc.jar.asc
log4j-jcl-2.0-rc1.pom
log4j-jcl-2.0-rc1-sources.jar
log4j-jcl-2.0-rc1-sources.jar.asc
log4j-jcl-2.0-rc1.jar.asc
log4j-jcl-2.0-rc1.pom.asc
log4j-taglib-2.0-rc1-javadoc.jar
log4j-taglib-2.0-rc1.jar.asc
log4j-taglib-2.0-rc1.pom.asc
log4j-taglib-2.0-rc1-sources.jar
log4j-taglib-2.0-rc1-sources.jar.asc
log4j-taglib-2.0-rc1-javadoc.jar.asc
log4j-taglib-2.0-rc1.jar
log4j-taglib-2.0-rc1.pom
log4j-core-osgi-jpa-2.0-rc1.pom.asc
log4j-core-osgi-jpa-2.0-rc1.jar.asc
log4j-core-osgi-jpa-2.0-rc1.pom
log4j-core-osgi-jpa-2.0-rc1.jar
log4j-osgi-2.0-rc1.pom.asc
log4j-osgi-2.0-rc1.pom
log4j-core-osgi-nosql-couch-2.0-rc1.jar.asc
log4j-core-osgi-nosql-couch-2.0-rc1.pom
log4j-core-osgi-nosql-couch-2.0-rc1.pom.asc
log4j-core-osgi-nosql-couch-2.0-rc1.jar
log4j-core-osgi-reduced-2.0-rc1.pom.asc
log4j-core-osgi-reduced-2.0-rc1.jar.asc
log4j-core-osgi-reduced-2.0-rc1.pom
log4j-core-osgi-reduced-2.0-rc1.jar
log4j-core-osgi-net-2.0-rc1.jar
log4j-core-osgi-net-2.0-rc1.jar.asc
log4j-core-osgi-net-2.0-rc1.pom
log4j-core-osgi-net-2.0-rc1.pom.asc
log4j-core-osgi-nosql-mongo-2.0-rc1.pom.asc
log4j-core-osgi-nosql-mongo-2.0-rc1.jar
log4j-core-osgi-nosql-mongo-2.0-rc1.jar.asc
log4j-core-osgi-nosql-mongo-2.0-rc1.pom
log4j-core-osgi-async-2.0-rc1.pom
log4j-core-osgi-async-2.0-rc1.pom.asc
log4j-core-osgi-async-2.0-rc1.jar.asc
log4j-core-osgi-async-2.0-rc1.jar
log4j-distribution-2.0-rc1-bin.tar.gz.asc
log4j-distribution-2.0-rc1-bin.zip
log4j-distribution-2.0-rc1.pom
log4j-distribution-2.0-rc1-src.tar.gz
log4j-distribution-2.0-rc1-bin.zip.asc
log4j-distribution-2.0-rc1.pom.asc
log4j-distribution-2.0-rc1-osgi-bin.zip
log4j-distribution-2.0-rc1-osgi-bin.zip.asc
log4j-distribution-2.0-rc1-osgi-bin.tar.gz
log4j-distribution-2.0-rc1-src.zip
log4j-distribution-2.0-rc1-osgi-bin.tar.gz.asc
log4j-distribution-2.0-rc1-src.tar.gz.asc
log4j-distribution-2.0-rc1-src.zip.asc
log4j-distribution-2.0-rc1-bin.tar.gz
log4j-1.2-api-2.0-rc1-javadoc.jar
log4j-1.2-api-2.0-rc1-javadoc.jar.asc
log4j-1.2-api-2.0-rc1.jar.asc
log4j-1.2-api-2.0-rc1.jar
log4j-1.2-api-2.0-rc1.pom.asc
log4j-1.2-api-2.0-rc1.pom
log4j-1.2-api-2.0-rc1-sources.jar
log4j-1.2-api-2.0-rc1-sources.jar.asc
log4j-flume-ng-2.0-rc1.pom.asc
log4j-flume-ng-2.0-rc1-sources.jar.asc
log4j-flume-ng-2.0-rc1-tests.jar.asc
log4j-flume-ng-2.0-rc1-tests.jar
log4j-flume-ng-2.0-rc1.jar
log4j-flume-ng-2.0-rc1-sources.jar
log4j-flume-ng-2.0-rc1.pom
log4j-flume-ng-2.0-rc1-javadoc.jar.asc
log4j-flume-ng-2.0-rc1.jar.asc
log4j-flume-ng-2.0-rc1-javadoc.jar
log4j-to-slf4j-2.0-rc1-sources.jar.asc
log4j-to-slf4j-2.0-rc1.jar.asc
log4j-to-slf4j-2.0-rc1.pom
log4j-to-slf4j-2.0-rc1-javadoc.jar
log4j-to-slf4j-2.0-rc1-sources.jar
log4j-to-slf4j-2.0-rc1-javadoc.jar.asc
log4j-to-slf4j-2.0-rc1.pom.asc
log4j-to-slf4j-2.0-rc1.jar
log4j-api-2.0-rc1.jar
log4j-api-2.0-rc1.pom
log4j-api-2.0-rc1-tests.jar
log4j-api-2.0-rc1-tests.jar.asc
log4j-api-2.0-rc1-javadoc.jar.asc
log4j-api-2.0-rc1.pom.asc
log4j-api-2.0-rc1-sources.jar.asc
log4j-api-2.0-rc1.jar.asc
log4j-api-2.0-rc1-sources.jar
log4j-api-2.0-rc1-javadoc.jar
log4j-core-2.0-rc1.jar
log4j-core-2.0-rc1.pom
log4j-core-2.0-rc1-javadoc.jar.asc
log4j-core-2.0-rc1.jar.asc
log4j-core-2.0-rc1-javadoc.jar
log4j-core-2.0-rc1.pom.asc
log4j-core-2.0-rc1-sources.jar
log4j-core-2.0-rc1-sources.jar.asc
log4j-core-2.0-rc1-tests.jar.asc
log4j-core-2.0-rc1-tests.jar
log4j-2.0-rc1.pom
log4j-2.0-rc1.pom.asc
Mime
View raw message