blob: de7dd8d37cea93937a516b82f9172a20721ea1bc [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
| (Unfortunately) copied from the Fluido skin to allow the footer to be centered.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Changes</title>
<link rel="stylesheet" href="./css/apache-maven-fluido.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script type="text/javascript" src="./js/apache-maven-fluido.min.js"></script>
<meta name="author" content="Ralph Goers" />
<meta name="Date-Revision-yyyymmdd" content="20121007" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<div id="banner">
<div class="pull-left">
<a href="../../" id="bannerLeft">
<img src="images/ls-logo.jpg" alt="Apache Logging Services™"/>
</a>
</div>
<div class="pull-right"> <div id="bannerRight">
<img src="images/logo.jpg" />
</div>
</div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2012-10-07</li>
<li class="divider">|</li> <li id="projectVersion">Version: 2.0-beta2</li>
<li class="pull-right"> <a href="../../" title="Logging Services">Logging Services</a>
</li>
<li class="divider pull-right">|</li>
<li class="pull-right"> <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a>
</li>
<li class="divider pull-right">|</li>
<li class="pull-right"> <a href="http://wiki.apache.org/logging" class="externalLink" title="Logging Wiki">Logging Wiki</a>
</li>
</ul>
</div>
<div class="row-fluid">
<div id="leftColumn" class="span2">
<div class="well sidebar-nav">
<h3>Apache Log4j™ 2</h3>
<ul>
<li class="none">
<a href="index.html" title="About">About</a>
</li>
<li class="none">
<a href="download.html" title="Download">Download</a>
</li>
<li class="none">
<a href="build.html" title="Build and Install">Build and Install</a>
</li>
<li class="none">
<a href="changelog.html" title="Changelog">Changelog</a>
</li>
</ul>
<h3>Manual</h3>
<ul>
<li class="none">
<a href="manual/index.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="manual/architecture.html" title="Architecture">Architecture</a>
</li>
<li class="none">
<a href="manual/migration.html" title="Log4j 1.x Migration">Log4j 1.x Migration</a>
</li>
<li class="collapsed">
<a href="manual/api.html" title="API">API</a>
</li>
<li class="collapsed">
<a href="manual/configuration.html" title="Configuration">Configuration</a>
</li>
<li class="collapsed">
<a href="manual/plugins.html" title="Plugins">Plugins</a>
</li>
<li class="collapsed">
<a href="manual/lookups.html" title="Lookups">Lookups</a>
</li>
<li class="collapsed">
<a href="manual/appenders.html" title="Appenders">Appenders</a>
</li>
<li class="collapsed">
<a href="manual/layouts.html" title="Layouts">Layouts</a>
</li>
<li class="collapsed">
<a href="manual/filters.html" title="Filters">Filters</a>
</li>
<li class="none">
<a href="manual/jmx.html" title="JMX">JMX</a>
</li>
<li class="none">
<a href="manual/logsep.html" title="Logging Separation">Logging Separation</a>
</li>
<li class="collapsed">
<a href="manual/extending.html" title="Extending Log4j">Extending Log4j</a>
</li>
</ul>
<h3>Components</h3>
<ul>
<li class="none">
<a href="log4j-api/index.html" title="API">API</a>
</li>
<li class="none">
<a href="log4j-core/index.html" title="Impl">Impl</a>
</li>
<li class="none">
<a href="log4j12-api/index.html" title="Log4J 1.2 API">Log4J 1.2 API</a>
</li>
<li class="none">
<a href="log4j-jcl/index.html" title="Commons Logging Bridge">Commons Logging Bridge</a>
</li>
<li class="none">
<a href="slf4j-impl/index.html" title="SLF4J Binding">SLF4J Binding</a>
</li>
<li class="none">
<a href="log4j-flume-ng/index.html" title="Apache Flume">Apache Flume</a>
</li>
<li class="none">
<a href="log4j-web/index.html" title="Log4j Web">Log4j Web</a>
</li>
</ul>
<h3>Site Documentation</h3>
<ul>
<li class="collapsed">
<a href="project-info.html" title="Project Information">Project Information</a>
</li>
<li class="expanded">
<a href="project-reports.html" title="Project Reports">Project Reports</a>
<ul>
<li class="none">
<strong>Changes Report</strong>
</li>
<li class="none">
<a href="jira-report.html" title="JIRA Report">JIRA Report</a>
</li>
<li class="none">
<a href="surefire-report.html" title="Surefire Report">Surefire Report</a>
</li>
<li class="none">
<a href="rat-report.html" title="RAT Report">RAT Report</a>
</li>
</ul>
</li>
</ul>
<hr class="divider" />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</div>
</div>
<div id="bodyColumn" class="span10" >
<div class="section"><h2>Changes<a name="Changes"></a></h2><a name="Changes"></a><div class="section"><h3>Release History<a name="Release_History"></a></h3><a name="Release_History"></a><table border="0" class="table table-striped"><tr class="a"><th>Version</th><th>Date</th><th>Description</th></tr><tr class="b"><td><a href="#a2.0-beta2">2.0-beta2</a></td><td>2012-10-07</td><td>Bug fixes and enhancements</td></tr><tr class="a"><td><a href="#a2.0-beta1">2.0-beta1</a></td><td>2012-09-18</td><td>Bug fixes and enhancements</td></tr><tr class="b"><td><a href="#a2.0-alpha2">2.0-alpha2</a></td><td>2012-08-24</td><td>Bug fixes and minor enhancements</td></tr><tr class="a"><td><a href="#a2.0-alpha1">2.0-alpha1</a></td><td>2012-07-29</td><td>Rewrite of Log4j</td></tr></table></div><div class="section"><h3>Release 2.0-beta2 - 2012-10-07<a name="Release_2.0-beta2_-_2012-10-07"></a></h3><a name="a2.0-beta2"></a><table border="0" class="table table-striped"><tr class="b"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/update.gif" alt="update" title="update" /></p></div></td><td>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.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>DefaultConfiguration was not starting the Console Appender.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add interval and modulate options to TimeBasedTriggeringPolicy to allow more fine-grained control of
when file rolling should occur. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-35">LOG4J2-35</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add support for filtering packages from stack traces. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-58">LOG4J2-58</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>If system property &quot;disableThreadContextStack&quot; is set pushes to the ThreadContext will be ignored. If
system property &quot;disableThreadContext&quot; is set both puts and pushes will be ignored. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-84">LOG4J2-84</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>If system property &quot;disableThreadContextMap&quot; is set puts to the ThreadContext will be ignored. If
system property &quot;disableThreadContext&quot; is set both puts and pushes will be ignored. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-83">LOG4J2-83</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add support for ANSI colors by adding the highlight and style pattern converters. Fix pattern
parsing to allow nested patterns.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-92">LOG4J2-92</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-88">LOG4J2-88</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Allow the status logging to be directed to stderr or to a file.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Log4j 1.2 adapter's Category class was missing 3 log methods. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-91">LOG4J2-91</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-84">LOG4J2-84</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-83">LOG4J2-83</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add getFormats to MultiformatMessage and allow StructuredDataMessage to format as XML.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Add documentation on client vs server mode to performance page. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-90">LOG4J2-90</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Move variable substitution from PatternLayout to appropriate converters to improve performance.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div><div class="section"><h3>Release 2.0-beta1 - 2012-09-18<a name="Release_2.0-beta1_-_2012-09-18"></a></h3><a name="a2.0-beta1"></a><table border="0" class="table table-striped"><tr class="a"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Added AsynchAppender.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>PatternLayout was not honoring format modifiers. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J-81">LOG4J-81</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-82">LOG4J2-82</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-80">LOG4J2-80</a>. Thanks to Oliver Lamy.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>LogFactoryImpl.setAttribute in the Commons Logging bridge got a NullPointerException when passed a null value.
It will now remove the attribute. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-78">LOG4J2-78</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-77">LOG4J2-77</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-76">LOG4J2-76</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Logger.error(Marker, Message, Throwable) was internally using Level.TRACE. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-74">LOG4J2-74</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-75">LOG4J2-75</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>NullPointerException in RollingFileManager when filePattern does not cause the file to be compressed. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-72">LOG4J2-72</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>FileRenameAction did not create the parent directories of the archive files causing the rollover to fail. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-71">LOG4J2-71</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/update.gif" alt="update" title="update" /></p></div></td><td>Update the versions of SLF4J and Logback.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div><div class="section"><h3>Release 2.0-alpha2 - 2012-08-24<a name="Release_2.0-alpha2_-_2012-08-24"></a></h3><a name="a2.0-alpha2"></a><table border="0" class="table table-striped"><tr class="a"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add getLogger(Class) to LogManager. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-70">LOG4J2-70</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Allow Flume agents to be embedded into the Flume Appender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-69">LOG4J2-69</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Add support for formatting using String.format(). Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-68">LOG4J2-68</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Allow components besides core to create a PluginMap for faster plugin loading and not
having to specify the plugin package in the configuration. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-67">LOG4J2-67</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Fix compilation problems in Java 7. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-64">LOG4J2-64</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Allow variable substitution on the configuration attributes and on the root log level. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-65">LOG4J2-65</a>.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div><div class="section"><h3>Release 2.0-alpha1 - 2012-07-29<a name="Release_2.0-alpha1_-_2012-07-29"></a></h3><a name="a2.0-alpha1"></a><table border="0" class="table table-striped"><tr class="b"><th>Type</th><th>Changes</th><th>By</th></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/add.gif" alt="add" title="add" /></p></div></td><td>Added ability to filter on the appender-ref by adding either a level or a filter. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-60">LOG4J2-60</a>. Thanks to Shane Kelly.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Level.toLevel would throw an IllegalArgumentException instead of returning the default value. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-56">LOG4J2-56</a>. Thanks to John Owen Atala.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="a"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>Remove LoggerContext support for custom logger factories. All Loggers returned
by LoggerContext should be compatibile and of the same type. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-51">LOG4J2-51</a>. Thanks to John Vasileff.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr><tr class="b"><td><div class="figure"><p align="center"><img src="images/fix.gif" alt="fix" title="fix" /></p></div></td><td>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 <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-50">LOG4J2-50</a>. Thanks to John Vasileff.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div></div>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row footer">Copyright &copy; 1999-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</br />
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</div>
</div>
</footer>
</body>
</html>