Apache log4j Changelog

What's new in Apache log4j 2.0 Beta 8

Jul 19, 2013
  • Improved logging initialization in Servlet containers, especially Servlet 3.0 and newer where Log4j now initializes and deinitializes automatically with no deployment descriptor configuration.
  • Added toString methods to ThreadContextStack/Map implementation classes.
  • Add printf methods to Logger API.
  • WriterThread was ending when no agents are available which caused an OutOfMemoryError.
  • Allow the default status level to be specified as a system property.
  • Filter calls from Avro or Flume to be ignored by the FlumeAppender.
  • FlumePersistentManager now calls Berkeley DB from threads to avoid encountering interrupts in the application.
  • Wasted work in FlumePersistentManager.createManager.
  • Wasted work in TestConfigurator.testEnvironment.
  • Wasted work in StyleConverterTest.setupClass.
  • AsyncLogger threads are now daemon threads and won't prevent the JVM from shutting down anymore.
  • Fast(Rolling)FileAppender now correctly handles messages exceeding the buffer size.
  • FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false.
  • FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false.
  • Fast(Rolling)FileAppender now correctly appends to (does not overwrite) existing file.
  • LogManager.getLogger can now be called without a logger name or with a null logger name.
  • Upgrade javadoc plugin to 2.9.1 to javadoc security issue.
  • JUnit to 4.11 from 4.7.
  • test H2 JDBC driver to 1.172 from 1.171.
  • Jansi jar to 1.11 from 1.9. es LOG4J2-285.
  • Log4j 1 dependency to 1.2.17 from 1.2.16.
  • Remove dependency on Apache ORO jar.
  • Wasted work in RollingAppenderSizeTest.testAppender() and others.
  • NullPointerException (regression due to for LOG4J2-228)
  • Include arbitrary message fields in RFC-5424 structured data.
  • FlumeAvroManager fails to notify client of failing event if Flume RPCClient cannot be created. Wasted work in UUIDUtil initialization.
  • Wasted work in XMLLayout.toSerializable().

New in Apache log4j 2.0 Beta 6 (May 10, 2013)

  • Logger.getParent() was not returning the correct Logger. Fixes LOG4J2-231.
  • Renamed Plugin annotation attribute from "type" to "category". Fixes LOG4J2-201.
  • Moved JMX Client GUI classes into separate jmx-gui submodule. Fixes LOG4J2-237.
  • Fix: install default root logger if not configured (this is unchanged), but make sure to include configured named loggers. Clarified documentation. Fixes LOG4J2-219. Thanks to Peter DePasquale.
  • Use OSGi version format in Fragment-Host Fixes LOG4J2-159.
  • RegexFilter threw a NullPointerException when used as a context-wide filter. Fixes LOG4J2-234.
  • Add support for interpolating Environment variables when processing the configuration. Fixes LOG4J2-192.
  • Removed dependency on tools jar from core module, made jconsole dependency optional. Fixes LOG4J2-235. Thanks to Sebastian Oerding.
  • Fixed link to log4j-user mailing list. Fixes LOG4J2-233.
  • Improved error reporting when misconfigured. Fixes LOG4J2-230. Thanks to Wojciech ZarÄ™ba.
  • Disruptor will now shutdown during Tomcat shutdown. Fixes LOG4J2-222. Thanks to Steven Yang.
  • Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was Asynch).
  • Removed CheckStyle false positives for NewlineAtEndOfFile and whitespace following '*' at end of line in javadoc.
  • Moved Clock interface to package org.apache.logging.log4j.core.helpers.
  • Documentation updates to clarify use and impact of location in pattern layouts. Fixes LOG4J2-225.
  • The FlumeAppender failed to start if the Flume RPCClient could not connect to any Flume agents. Fixes LOG4J2-224.
  • Fix LoggerContext start and stop to eliminate IllegalStateException and NoClassDefFound errors. Fixes LOG4J2-223.
  • Remove hundreds of compiler warnings. Fixes LOG4J2-221. Thanks to Nick Williams.
  • Various small documentation fixes. Fixes LOG4J2-215.
  • Ensure PluginManager streams are always closed. Fixes LOG4J2-217. Thanks to Fabien Sanglard.