2.0.1 (2014-07-29)

This is the first patch release of Log4j 2.0 which contains numerous bug fixes.

Apache Log4j 2.0.1 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 Log4j 2 website.



  • Added documentation for Custom Levels and Custom Loggers. (for LOG4J2-710 by Remko Popma)

  • Added WebLoggerContextUtils class to log4j-web for helper methods useful for asynchronous servlets. (for LOG4J2-725 by Matt Sicker)


  • Update to LMAX Disruptor 3.3.0 from 3.2.1. (for LOG4J2-732 by Gary Gregory)

  • Update to latest Jackson jars from the 2.4.1.X line. (for LOG4J2-733 by Gary Gregory)


  • Fixed ClassLoader issues in loading Log4j providers in an OSGi environment. (for LOG4J2-373 by Matt Sicker)

  • Fixed AbstractDatabaseManager to close connection on writeInternal error. (for LOG4J2-657 by Remko Popma, Stefan Wehner)

  • DatePatternConverter ISO8601_PATTERN now conforms to ISO8601. (for LOG4J2-670 by Remko Popma)

  • Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup. (for LOG4J2-703 by Gary Gregory, Nelson Melina)

  • Improved error message if configuration file not found. (for LOG4J2-704 by Remko Popma)

  • Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer (for LOG4J2-713 by Gary Gregory, Nelson Melina)

  • Automatically disable log4j JMX when detecting we are running on Android. (for LOG4J2-716 by Remko Popma)

  • Correctly handle NetworkOnMainThreadException thrown on Android during Log4j2 initialization. (for LOG4J2-719 by Remko Popma)

  • Updated documentation regarding extensions to LoggerContextFactory and Log4j 2 providers. (for LOG4J2-731 by Matt Sicker)

  • Fixed log4j-bom so that it won’t interfere with spring-bom and others. (for LOG4J2-735 by Matt Sicker)

  • Fixed log4j-bom so that it won’t specify a default scope on any third party dependencies. (for LOG4J2-736 by Matt Sicker)

  • RollingFileManager deadlock if async action thread fails to start. (for LOG4J2-738 by Gary Gregory, Timothy Stack)

  • Fixed typo in webapp manual regarding sample web.xml file. (for LOG4J2-740 by Matt Sicker, Kosta Krauth)

  • Reinstate the package configuration attribute for discovering custom plugins. (for LOG4J2-741 by Remko Popma)

  • XInclude not working with relative path. (for LOG4J2-742 by Gary Gregory, Pascal Chollet)

  • Avoid unnecessary Clock calls when TimestampMessage is logged. (for LOG4J2-744 by Remko Popma, Scott Harrington)

  • Retain the default date pattern after fixing the ISO8601 pattern. (for LOG4J2-749 by Remko Popma, Scott Harrington)

  • Webapp configuration page has incorrect class name. (for LOG4J2-750 by Gary Gregory, Mike Calmus)