2.0-beta9 (2013-09-14)

Changes

Added

  • Added FAQ page to the site. (for LOG4J2-253 by Remko Popma)

  • Ease porting from 1.x Logger.getRootLogger(): add LogManager.getRootLogger(). (for LOG4J2-305 by Gary Gregory)

  • Add JNDILookup plugin. (for LOG4J2-313 by Ralph Goers, Woonsan Ko)

  • Add TLSAppender. Also added missing license headers to several files. (for LOG4J2-338 by Ralph Goers, Tibor Benke)

  • Enable XInclude for XML configurations. (for LOG4J2-341 by Gary Gregory)

  • Create a JSON Layout. (for LOG4J2-356 by Gary Gregory)

  • Allow Plugins to have aliases. (for LOG4J2-360 by Ralph Goers)

  • Add a diagram to the site (FAQ page) that explains when to use which jar. (for LOG4J2-362 by Remko Popma)

  • Add WebLookup to retrieve information from the ServletContext. (for LOG4J2-364 by Ralph Goers, David Nault)

  • Add more options to PatternLayout to display more detailed information about a Throwable. (for LOG4J2-374 by Gary Gregory, Tibor Benke)

  • [Pattern Layout] Customize level names by length. (for LOG4J2-383 by Gary Gregory)

  • [Pattern Layout] Customize level names to lower-case. (for LOG4J2-384 by Gary Gregory)

  • Allow the default file rollover strategy to define the compression level. (for LOG4J2-399 by Gary Gregory)

Changed

  • 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. (for by Nick Williams)

  • 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. (for by Nick Williams)

  • Cleaned up tests and cleared up documentation for the JPA appender following the resolution of EclipseLink issue #412454. (for by Nick Williams)

  • Improved site by adding quick jump-off page and menu for Javadoc links for all components. (for by Nick Williams)

  • Update JSON Jackson library to 2.2.2 from 2.2.1. (for LOG4J2-306 by Gary Gregory)

  • Updated Async Loggers' LMAX Disruptor library from 3.0.1 to 3.2.0. (for LOG4J2-307 by Remko Popma)

  • Clarified which library versions were used in Async Loggers performance test. (for LOG4J2-308 by Remko Popma)

  • XML layout improvements (compact vs. pretty, namespace, namespace prefix, root element). (for LOG4J2-312 by Gary Gregory)

  • 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. (for LOG4J2-317 by Gary Gregory)

  • Allow shutdown hook to be disabled in the configuration. (for LOG4J2-318 by Ralph Goers)

  • Update JDBC tests to use H2 database 1.3.173 from 1.3.172. (for LOG4J2-325 by Gary Gregory)

  • Add support for multiple SD-ELEMENTs in an RFC 5424 syslog message. (for LOG4J2-355 by Gary Gregory, Tibor Benke)

  • Update commons-logging to 1.1.3 from 1.1.1. (for LOG4J2-366 by Gary Gregory)

  • Update Jackson dependency to 1.9.13 from 1.9.11. (for LOG4J2-387 by Gary Gregory)

  • Update Java Mail dependency to 1.5.0 from 1.4.7. (for LOG4J2-388 by Gary Gregory)

  • Update HSQLDB dependency to 2.3.0 from 2.2.9. (for LOG4J2-390 by Gary Gregory)

Fixed

  • The slf4j-ext jar is now an optional dependency of the SLF4J bridge. (for LOG4J2-165 by Ralph Goers)

  • RoutingAppender’s default Route can now be an appender reference. (for LOG4J2-166 by Ralph Goers)

  • ThrowableProxy no longer extends Throwable. (for LOG4J2-216 by Ralph Goers)

  • Fix table of contents generation in pdf. (for LOG4J2-226 by Ralph Goers)

  • Additional fix to make AsyncAppender threads daemon threads and improve their thread name. (for LOG4J2-280 by Remko Popma)

  • Fixed JDBC, JPA, and NoSQL appenders so that the failover appender properly fails over on error. (for LOG4J2-291 by Nick Williams)

  • Changed the ConfigurationFactory to recognize and properly use the classpath: URI scheme in addition to the classloader: URI scheme. (for LOG4J2-293 by Nick Williams, Abhinav Shah)

  • Reset the Configuration if the ClassLoaderContextSelector creates a LoggerContext without a configuration location and then is later provided one. (for LOG4J2-293 by Ralph Goers)

  • Add getThrowable method to ThrowableProxy. (for LOG4J2-299 by Ralph Goers)

  • Fixed Async Loggers memory leak. (for LOG4J2-304 by Remko Popma)

  • Insure jars and distributions only have a single License and Notice file. (for LOG4J2-309 by Ralph Goers)

  • Fixed issue where SMTPAppender did not send mails with error or fatal level without prior info event. (for LOG4J2-310 by Remko Popma, Olivier Lemasle)

  • Synchronized flush() and close() methods in the XxxFileManager and OutputStreamManager classes. (for LOG4J2-311 by Remko Popma)

  • Double stack trace logging when using %throwable in %style and %highlight. (for LOG4J2-319 by Gary Gregory)

  • JPAAppender stops logging because META-INF/log4j-provider.properties is left open. (for LOG4J2-320 by Gary Gregory)

  • Centralized reflective use of Reflection#getCallerClass and properly handled its instability in various versions of Java. (for LOG4J2-322 by Nick Williams)

  • FlumePersistentManager was calling Berkeley DB’s count method too frequently. (for LOG4J2-328 by Ralph Goers)

  • StatusLogger now only creates StatusData objects if they are the appropriate logging level. (for LOG4J2-329 by Ralph Goers)

  • Added a BSON Transformer so that MongoDB can persist Log4j events. (for LOG4J2-330 by Nick Williams)

  • Removed erroneous check for affected MongoDB records, which always returns zero on inserts. (for LOG4J2-331 by Nick Williams)

  • Modified documentation to refer to SLF4J Binding instead of SLF4J Bridge. (for LOG4J2-332 by Ralph Goers, Hervé Boutemy)

  • Match artifact ids with Maven module names. (for LOG4J2-333 by Gary Gregory, Hervé Boutemy)

  • FlumePersistentManager’s writer thread had high CPU usage. (for LOG4J2-335 by Ralph Goers)

  • AsyncLogger errors after multiple calls to LoggerContext.reconfigure(). (for LOG4J2-336 by Remko Popma, Andre Bogus)

  • Ignore xml:base attributes. (for LOG4J2-342 by Ralph Goers)

  • Removed unnecessary generics from Appender interface and implementing classes. (for LOG4J2-343 by Remko Popma, Henning Schmiedehausen)

  • Give the AsyncAppender thread a more descriptive name for easier debugging/profiling. (for LOG4J2-347 by Remko Popma, David Phillips)

  • [OSGi] wrong Fragment-Host in manifest files. (for LOG4J2-351 by Remko Popma, Roland Weiglhofer)

  • NoSQLAppender using MongoDB provider ignores username and password attributes (for LOG4J2-358 by Nick Williams)

  • 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. (for LOG4J2-359 by Nick Williams, Abhinav Shah)

  • JMS appenders send two messages for one append. (for LOG4J2-367 by Gary Gregory, David Parry)

  • Add PatternLayout constructor to Log4j 1.2 bridge for Velocity. (for LOG4J2-368 by Ralph Goers)

  • Use rollover date when substituting ${date} in the filePattern. (for LOG4J2-380 by Ralph Goers)

  • FlumePersistentManager now handles LockConflictExceptions in Berkeley Db. (for LOG4J2-391 by Ralph Goers, Kamal Bahadur)

  • Initialize PluginManager once during configuration. Move advertisement setup into BaseConfiguration. (for LOG4J2-393 by Ralph Goers)

  • Allow classpath scheme when specifying configuration file location as a system property. (for LOG4J2-395 by Ralph Goers, Abhinav Shah)

  • Logger.info(Message) Javadoc is incorrect. (for LOG4J2-397 by Gary Gregory, Yonatan Graber)