Changes

Release History

VersionDateDescription
2.0-beta22012-10-07Bug fixes and enhancements
2.0-beta12012-09-18Bug fixes and enhancements
2.0-alpha22012-08-24Bug fixes and minor enhancements
2.0-alpha12012-07-29Rewrite of Log4j

Release 2.0-beta2 - 2012-10-07

TypeChangesBy

update

Made ParameterizedMessage, StringFormattedMessage and ThreadDumpMessage immutable. LocalizedMessage is immutable except that it will be updated with the logger name when it is added to the LogEvent.rgoers

fix

DefaultConfiguration was not starting the Console Appender.rgoers

add

Add interval and modulate options to TimeBasedTriggeringPolicy to allow more fine-grained control of when file rolling should occur. Fixes LOG4J2-35.rgoers

add

Add support for filtering packages from stack traces. Fixes LOG4J2-58.rgoers

add

If system property "disableThreadContextStack" is set pushes to the ThreadContext will be ignored. If system property "disableThreadContext" is set both puts and pushes will be ignored. Fixes LOG4J2-84.rgoers

add

If system property "disableThreadContextMap" is set puts to the ThreadContext will be ignored. If system property "disableThreadContext" is set both puts and pushes will be ignored. Fixes LOG4J2-83.rgoers

add

Add support for ANSI colors by adding the highlight and style pattern converters. Fix pattern parsing to allow nested patterns.rgoers

fix

Converted DynamicThresholdFilter to use KeyValuePair. Fixed bugs in the Map-based filters to allow declaration of multiple values for a key to match the documentation. Fixes LOG4J2-92.rgoers

fix

Many logging methods in AbstractLogger were set to an incorrect logging level. catching was using the THROWING marker and was set to debug instead of error. Fixes LOG4J2-88.rgoers

add

Allow the status logging to be directed to stderr or to a file.rgoers

fix

Log4j 1.2 adapter's Category class was missing 3 log methods. Fixes LOG4J2-91.rgoers

fix

If the ThreadContext stack is empty the LogEvent will contain a null value to reduce the overhead of creating log events and in the size of the serialized object. Changed the ThreadContext stack to use a custom stack interface instead of java.util.Stack as that class is overly heavy. This change will cause an API incompatibility. Fixes LOG4J2-84.rgoers

fix

If the ThreadContext map is empty the LogEvent will contain a null value to reduce the overhead of creating log events and in the size of the serialized object. Fixes LOG4J2-83.rgoers

add

Add getFormats to MultiformatMessage and allow StructuredDataMessage to format as XML.rgoers

fix

Add documentation on client vs server mode to performance page. Fixes LOG4J2-90.rgoers

fix

Move variable substitution from PatternLayout to appropriate converters to improve performance.rgoers

Release 2.0-beta1 - 2012-09-18

TypeChangesBy

add

Added AsynchAppender.rgoers

fix

PatternLayout was not honoring format modifiers. Fixes LOG4J-81.rgoers

fix

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.rgoers

fix

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. Fixes LOG4J2-82.rgoers

fix

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. Fixes LOG4J2-80. Thanks to Oliver Lamy.rgoers

fix

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

fix

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. Fixes LOG4J2-77.rgoers

fix

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. Fixes LOG4J2-76.rgoers

fix

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

fix

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. Fixes LOG4J2-75.rgoers

fix

NullPointerException in RollingFileManager when filePattern does not cause the file to be compressed. Fixes LOG4J2-72.rgoers

fix

FileRenameAction did not create the parent directories of the archive files causing the rollover to fail. Fixes LOG4J2-71.rgoers

update

Update the versions of SLF4J and Logback.rgoers

Release 2.0-alpha2 - 2012-08-24

TypeChangesBy

add

Add getLogger(Class) to LogManager. Fixes LOG4J2-70.rgoers

add

Allow Flume agents to be embedded into the Flume Appender. Fixes LOG4J2-69.rgoers

add

Add support for formatting using String.format(). Fixes LOG4J2-68.rgoers

add

Allow components besides core to create a PluginMap for faster plugin loading and not having to specify the plugin package in the configuration. Fixes LOG4J2-67.rgoers

fix

Fix compilation problems in Java 7. Fixes LOG4J2-64.rgoers

fix

Allow variable substitution on the configuration attributes and on the root log level. Fixes LOG4J2-65.rgoers

Release 2.0-alpha1 - 2012-07-29

TypeChangesBy

add

Added ability to filter on the appender-ref by adding either a level or a filter. Fixes LOG4J2-60. Thanks to Shane Kelly.rgoers

fix

Level.toLevel would throw an IllegalArgumentException instead of returning the default value. Fixes LOG4J2-56. Thanks to John Owen Atala.rgoers

fix

Remove LoggerContext support for custom logger factories. All Loggers returned by LoggerContext should be compatibile and of the same type. Fixes LOG4J2-51. Thanks to John Vasileff.rgoers

fix

Make sure all application facing log methods use their own FQCN. This patch resolves a unit test failure for the %C pattern when using the Category logger. Fixes LOG4J2-50. Thanks to John Vasileff.rgoers