2.0-beta7 (2013-06-01)



  • Break up core into multiple osgi jars. (for LOG4J2-10 by Ralph Goers, Timothy Ward)

  • New JDBC, JPA, and NoSQL database Appenders. (for LOG4J2-229 by Gary Gregory, Nick Williams)

  • Provide configuration information (location, content type, content if possible) via a registered Advertiser. (for LOG4J2-251 by Scott Deboy)


  • Improve ThreadContext performance with copy-on-write map and stack. (for LOG4J2-154 by Remko Popma)

  • Allow custom LogEventFactories. (for LOG4J2-243 by Ralph Goers)

  • Allow context parameters in Log4jContextListener to include properties. (for LOG4J2-249 by Ralph Goers)

  • Add support for interceptors in the embedded Flume Appender. (for LOG4J2-262 by Ralph Goers, Edward Sargisson)

  • Method name changes in interface org.apache.logging.log4j.spi.ThreadContextMap: getContext() to getCopy(), get() to getImmutableMapOrNull(). (for by Remko Popma)


  • Remove LoggerContext when LoggerContext is stopped. (for LOG4J2-223 by Ralph Goers)

  • UDP now sends one event per packet. (for LOG4J2-228 by Ralph Goers)

  • StringFormattedMessage and MessageFormatMessage now will accept a Throwable as their last argument and pass it on. (for LOG4J2-242 by Ralph Goers)

  • Rewrite Appender was ignoring filters on referenced appenders. (for LOG4J2-244 by Ralph Goers)

  • Avoid EmptyStack exception if getCallerClass and SecurityManager are not available. (for LOG4J2-245 by Ralph Goers)

  • Data buffer is reset in finally clause. (for LOG4J2-246 by Ralph Goers)

  • SocketServer.isActive should be volatile because it is accessed from different threads. (for LOG4J2-247 by Gary Gregory)

  • Mark OutputStream in OutputStreamManager as volatile. Mark header and footer as final. (for LOG4J2-254 by Ralph Goers)

  • Multi-byte character strings are now assumed to be in the platform default encoding, not UTF-8. (for LOG4J2-255 by Remko Popma)

  • XML layout ignores charset for the XML processing instruction’s encoding attribute. (for LOG4J2-257 by Gary Gregory)

  • HTML layout does not output meta element for charset. (for LOG4J2-258 by Gary Gregory)

  • HTML layout does not specify charset in content type. (for LOG4J2-259 by Gary Gregory)

  • XML layout does not specify charset in content type. (for LOG4J2-260 by Gary Gregory)

  • Add missing "not" to error message. (for LOG4J2-261 by Ralph Goers, Edward Sargisson)

  • Do not allow a charset on RFC5424Layout - use UTF-8. (for LOG4J2-263 by Ralph Goers)

  • Add guid to FlumeEvent headers for non-Map Messages. (for LOG4J2-268 by Ralph Goers)

  • Use transaction when batch size is 1. (for LOG4J2-269 by Ralph Goers)