2.0-beta1

Release date

2012-09-18

Added

  • Added AsynchAppender.

Changed

  • Update the versions of SLF4J and Logback.

Fixed

  • Created web module to allow web applications to include the Log4j context listener in WEB-INF/lib even if Log4j is in the container’s class path. Allow locating the LoggerContext to include the ClassLoader. Updated the Loader utility to always choose the child ClassLoader. Verified in Jboss 5 and Tomcat.

  • FileRenameAction did not create the parent directories of the archive files causing the rollover to fail. (LOG4J2-71)

  • NullPointerException in RollingFileManager when filePattern does not cause the file to be compressed. (LOG4J2-72)

  • Logger.error(Marker, Message, Throwable) was internally using Level.TRACE. (LOG4J2-74)

  • Enhanced Log4jContextListener to accept a configuration file location. Modified FileConfigurationMonitor to monitor files configured that way. Fixed other reconfiguration related bugs. Tested in JBoss and Tomcat. (LOG4J2-75)

  • RewriteAppender was calling the stop method of the referenced appender causing the referenced appender’s manager to have its use count decremented too many times. (LOG4J2-76)

  • RoutingAppender was calling the stop method for each of its referenced Appenders and was calling the stop method of the default Appender a second time. It will now only call the stop method of Appenders it creates. (LOG4J2-77)

  • LogFactoryImpl.setAttribute in the Commons Logging bridge got a NullPointerException when passed a null value. It will now remove the attribute. (LOG4J2-78)

  • Allow Log4j 2 to be used as the implementation with SLF4J and SLF4J’s jcl-over-slf4j by adding filtering to the log method in SLF4JLogger. (LOG4J2-80)

  • PatternLayout was not honoring format modifiers. (LOG4J2-81)

  • MarkerFilter called MarkerManager.getMarker causing the Marker to be created during the processing of the configuration. This prevents the application from creating the Marker with any parents. MarkerWrapper in SLF4J-impl was getting a ClassCastException in instanceOf because the Marker isn’t a MarkerWrapper. (LOG4J2-82)