| |
| Apache Log4j 2.0-beta9 RELEASE NOTES |
| |
| The Apache Log4j 2 team is pleased to announce the Log4j 2.0-beta9 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. |
| |
| Bug fixes and enhancements |
| |
| 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(). |
| |
| 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-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. |
| |
| 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. |
| |
| |
| Apache Log4j 2.0-beta9 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. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: |
| |
| http://logging.apache.org/log4j/2.x/ |
| |
| |