2.0.2 (2014-08-16)

This is the third GA release which contains several bugfixes from the previous release.

Apache Log4j 2.0.2 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.



  • Allow Log4jContextFactory subclasses to specify a custom ContextSelector. (for LOG4J2-730 by Remko Popma)

  • Update Apache Flume to from 1.5.0. (for LOG4J2-775 by Gary Gregory)


  • Resolved race condition that caused log file rotation to fail with error: "Unable to create directory …​" (for LOG4J2-679 by Remko Popma)

  • Clarified in documentation that Commons Logging jar is required when using log4j-jcl. (for LOG4J2-722 by Remko Popma)

  • Clarified in documentation that SLF4J API jar is required when using log4j-slf4j-impl. (for LOG4J2-723 by Remko Popma)

  • Prevent application from hanging when PatternLayout configuration has opening '{' but no closing '}'. (for LOG4J2-726 by Remko Popma)

  • Emit warning message to console if no configuration file found. (for LOG4J2-729 by Remko Popma)

  • Prevent JUnit test from creating unnecessary Log4j2Plugins.dat during build. (for LOG4J2-756 by Remko Popma, Scott Harrington)

  • Fixed various minor site/documentation issues, mostly versioning related. (for LOG4J2-759 by Remko Popma)

  • Documentation improvement: link to dependency tree from log4j-core component page, link to log4j-core component page from FAQ page. (for LOG4J2-760 by Remko Popma)

  • Improved asynchronous loggers and appenders to ensure the formatted message does not change even if parameters are modified by the application. (ParameterizedMessage was already safe.) Improved documentation. (for LOG4J2-763 by Remko Popma, Stephen Connolly)

  • Improve warning message when missing log4j-core in the classpath. (for LOG4J2-765 by Remko Popma)

  • Startup takes a long time if you have empty packages attribute. (for LOG4J2-769 by Remko Popma, Scott Harrington)

  • Site: log4j-core component pages were still using the old logo. (for LOG4J2-773 by Remko Popma)