blob: 03204d948bc5cbcef51c69f9a1dc975c8dfbc7d9 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Apr 20, 2013 -->
<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" />
<title>Changes - Apache Log4j 2</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="./css/site.css" type="text/css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/prettify.min.js"></script>
<script type="text/javascript" src="./js/site.js"></script>
<meta name="author" content="Ralph Goers" />
<meta name="Date-Revision-yyyymmdd" content="20130420" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<img class="logo-left" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
<img class="logo-right" src="./images/logo.jpg" alt="Apache log4j logo" />
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="http://logging.apache.org/log4j/2.x/">Apache Log4j 2 &trade;</a>
<ul class="nav">
<li>
<a href="http://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="http://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="../../" title="Logging Services">Logging Services</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>Apache Log4j™ 2</li>
<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>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Manual</li>
<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="collapsed">
<a href="manual/async.html" title="Async Loggers">Async Loggers</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>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Components</li>
<li class="none">
<a href="log4j-api/index.html" title="API">API</a>
</li>
<li class="none">
<a href="log4j-core/index.html" title="Implementation">Implementation</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="log4j-1.2-api/index.html" title="Log4J 1.2 API">Log4J 1.2 API</a>
</li>
<li class="none">
<a href="log4j-slf4j-impl/index.html" title="SLF4J Binding">SLF4J Binding</a>
</li>
<li class="none">
<a href="log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter">Log4j 2 to SLF4J Adapter</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>
<li class="none">
<a href="log4j-taglib/index.html" title="Log4j Tag Library">Log4j Tag Library</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Project Information</li>
<li class="none">
<a href="dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="none">
<a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
</li>
<li class="none">
<a href="dependency-management.html" title="Dependency Management">Dependency Management</a>
</li>
<li class="none">
<a href="team-list.html" title="Project Team">Project Team</a>
</li>
<li class="none">
<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="license.html" title="Project License">Project License</a>
</li>
<li class="none">
<a href="source-repository.html" title="Source Repository">Source Repository</a>
</li>
<li class="none">
<a href="project-summary.html" title="Project Summary">Project Summary</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
<li class="none active">
<a href="changes-report.html" title="Changes Report">Changes Report</a>
</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>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<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="bodyTable"><tr class="a"><th>Version</th><th>Date</th><th>Description</th></tr><tr class="b"><td><a href="#a2.0-beta5">2.0-beta5</a></td><td>2013-04-20</td><td>Bug fixes and enhancements</td></tr><tr class="a"><td><a href="#a2.0-beta4">2.0-beta4</a></td><td>2013-01-28</td><td>Bug fixes and enhancements</td></tr><tr class="b"><td><a href="#a2.0-beta3">2.0-beta3</a></td><td>2012-11-11</td><td>Bug fixes and enhancements</td></tr><tr class="a"><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="b"><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="a"><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="b"><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-beta5 - 2013-04-20<a name="Release_2.0-beta5_-_2013-04-20"></a></h3><a name="a2.0-beta5"></a><table border="0" class="bodyTable"><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/fix.gif" alt="fix" title="fix" /></p></div></td><td>Fix deadlock in SocketAppender. Added option to not wait for socket reconnect. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-205">LOG4J2-205</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 JMX support. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-207">LOG4J2-207</a>. Thanks to Remko Popma.</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>Removing extra spaces in entry and exit method output. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-211">LOG4J2-211</a>. Thanks to Nick Williams.</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/update.gif" alt="update" title="update" /></p></div></td><td>Async documentation update. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-214">LOG4J2-214</a>. Thanks to Remko Popma.</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>Loggers without a &quot;.&quot; had no parent logger. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-212">LOG4J2-212</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/update.gif" alt="update" title="update" /></p></div></td><td>Move async subproject into core. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-208">LOG4J2-208</a>. Thanks to Remko Popma.</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>Call LoggerContext.stop when the application is shutdown. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-212">LOG4J2-212</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>MapMessage was not enclosing key value in quotes when generating XML. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-210">LOG4J2-210</a>. Thanks to Arkin Yetis.</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>FlumeAvroManager now uses Flume RPCClient. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-198">LOG4J2-198</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>FlumeAvroManager now uses Flume RPCClient. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-196">LOG4J2-196</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>Use the Maven group ID org.apache.logging.log4j for all artifacts. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-207">LOG4J2-207</a>.</td><td><a href="team-list.html#ggregory">ggregory</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 tag library. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-187">LOG4J2-187</a>. Thanks to Nick Williams.</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>Unit tests now create files in the target directory. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-195">LOG4J2-195</a>. Thanks to Remko Popma.</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>RollingFastFileAppender (in log4j-async) did not roll over. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-193">LOG4J2-193</a>. Thanks to Remko Popma.</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>Highlight subprojects in sub-navigation. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-199">LOG4J2-199</a>. Thanks to Remko Popma.</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>LoggerContext method renamed to removeFilter from removeFiler. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-200">LOG4J2-200</a>. Thanks to Remko Popma.</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>ThrowableFormatOptionsTest failed on Windows due to CR/LF issue. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-194">LOG4J2-194</a>. Thanks to Remko Popma.</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>BaseConfiguration addLoggerAppender saved appender using the Logger name. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-190">LOG4J2-190</a>. Thanks to Werner.</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>Move Throwable pattern converter options processing to ThrowableFormatOptions class. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-160">LOG4J2-160</a>. Thanks to Joanne Polsky.</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/update.gif" alt="update" title="update" /></p></div></td><td>Allowed Loggers access to the properties in the LoggerConfig. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-157">LOG4J2-157</a>. Thanks to Remko Popma.</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>Added ability to include or exclude location information. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-153">LOG4J2-153</a>. Thanks to Remko Popma.</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/update.gif" alt="update" title="update" /></p></div></td><td>Allow Logger and LoggerContext to be subclassed. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-151">LOG4J2-151</a>. Thanks to Remko Popma.</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 methods is/setEndOfBatch to LogEvent. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-164">LOG4J2-164</a>. Thanks to Remko Popma.</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 asynchronous loggers. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-163">LOG4J2-163</a>. Thanks to Remko Popma.</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>The blocking parameter did not work properly on AsynchAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-189">LOG4J2-189</a>. Thanks to Werner.</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>appender-refs on AsynchAppender didn't support the level and filter elements. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-188">LOG4J2-188</a>. Thanks to Werner.</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>Avoid IllegalArgumentException in AsynchAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-176">LOG4J2-176</a>. Thanks to Remko Popma.</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 Logger interface APIs to log at given levels. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-179">LOG4J2-179</a>.</td><td><a href="team-list.html#ggregory">ggregory</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>OutputStreamManager now adds the layout header whenever the OutputStream is set. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-181">LOG4J2-181</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>Fix NullPointerException in DatagramOutputStream when flush is called from multiple threads. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-177">LOG4J2-177</a>. Thanks to Remko Popma.</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>Added FlumePersistentManager which writes to BerkeleyDB and then writes to Flume asynchronously.</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>Plugin cache should be reset when addPackages is called. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-175">LOG4J2-175</a>.</td><td><a href="team-list.html#sdeboy">sdeboy</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>Expose file appender configuration details via an advertisement mechanism. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-155">LOG4J2-155</a>.</td><td><a href="team-list.html#sdeboy">sdeboy</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 Fragment-Host to MANIFEST.MF for log4j2-core. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-159">LOG4J2-159</a>. Thanks to Jan Winter.</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>Configurator throws a ClassCastException if LogManager returns a SimpleLoggerContext. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-167">LOG4J2-167</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>ConfigurationFactory was adding factories on every call. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-169">LOG4J2-169</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>Modify ClassLoaderContextSelector to use the first ClassLoader in the child parent hierarchy that
has a Context with a configuration to allow JSPs to use the WebApp's context and configuration. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-161">LOG4J2-161</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/icon_help_sml.gif" alt="?" title="?" /></p></div></td><td>Add RFC 5424 compliant escaping rules to RFC5424Layout. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-158">LOG4J2-158</a>. Thanks to Scott Severtson.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div><div class="section"><h3>Release 2.0-beta4 - 2013-01-28<a name="Release_2.0-beta4_-_2013-01-28"></a></h3><a name="a2.0-beta4"></a><table border="0" class="bodyTable"><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/fix.gif" alt="fix" title="fix" /></p></div></td><td>LocalizedMessageTest fails on linux system. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-156">LOG4J2-156</a>. Thanks to Andreas Born.</td><td><a href="team-list.html#ggregory">ggregory</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>RollingFileAppender's FileRenameAction was throwing a NullPointerException if no directory was specified
on the target file name. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-152">LOG4J2-152</a>. Thanks to Remko Popma.</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>Convert all System.getProperty calls to use PropertiesUtil to suppress SecurityExceptions. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-150">LOG4J2-150</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>ThreadContextMapFilter was matching on the key instead of the value of the key. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-147">LOG4J2-147</a>. Thanks to William Burns.</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 FlumeAvroManager to initialize even if it cannot connect to an agent.</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>SMTPAppender will only cache filtered events. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-149">LOG4J2-149</a>. Thanks to Scott Severtson.</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 missing serial version IDs. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-145">LOG4J2-145</a>.</td><td><a href="team-list.html#ggregory">ggregory</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 RFC5424Layout. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-144">LOG4J2-144</a>.</td><td><a href="team-list.html#ggregory">ggregory</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>MessagePatternConverter now returns &quot;null&quot; if the log message is null. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-143">LOG4J2-143</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>Serialized LogEvents were not reset in the output stream causing them to deserialize incorrectly. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-142">LOG4J2-142</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>Fix null pointer exception in SocketAppender if no protocol is specified. The protocol will default
to TCP for the SocketAppender and UDP for the SyslogAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-139">LOG4J2-139</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>Added Log4j 2 to SLF4J adapter.</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>Typo in documentation of SocketAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-140">LOG4J2-140</a>. Thanks to Joern Huxhorn.</td><td><a href="team-list.html#ggregory">ggregory</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 hang in Dumbster SMTP test server. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-137">LOG4J2-137</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/update.gif" alt="update" title="update" /></p></div></td><td>Allow newlines to be escaped in Syslog and RFC5424 layouts. Allow Throwables to be included in
the output from RFC5424Layout. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-136">LOG4J2-136</a>. Thanks to Scott Severtson.</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 SMTPAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-131">LOG4J2-131</a>. Thanks to Scott Severtson.</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 should format throwables without requiring a converter. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-130">LOG4J2-130</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>Added hostName and contextName to property map.</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>BaseConfiguration does not close the first appender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-135">LOG4J2-135</a>. Thanks to Ingo Feltes.</td><td><a href="team-list.html#ggregory">ggregory</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 MessageFormatMessage and FormattedMessage.</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>Use %red, %white, %blue, and so on in the console appender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-134">LOG4J2-134</a>.</td><td><a href="team-list.html#ggregory">ggregory</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 custom message creation via a message factory. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-133">LOG4J2-133</a>.</td><td><a href="team-list.html#ggregory">ggregory</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>AbstractLogger.catching(Throwable) checks for DEBUG level but logs at ERROR level. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-132">LOG4J2-132</a>.</td><td><a href="team-list.html#ggregory">ggregory</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 only creating a single appender for the default Route. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-129">LOG4J2-129</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 JMS appenders to recover if the queue or topic is unavailable. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-126">LOG4J2-126</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>Add follow attribute to Console Appender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-128">LOG4J2-128</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>AbstractLogger methods were not passing Markers to the isEnabled methods. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-127">LOG4J2-127</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>Added Flume Appender samples.</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/update.gif" alt="update" title="update" /></p></div></td><td>Add unit test to verify exceptions are thrown when the socket connection fails. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-122">LOG4J2-122</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>JMSQueue and JMSTopic Appenders did not allow name to be specified. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-125">LOG4J2-125</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 javadoc copyright statement. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-111">LOG4J2-111</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>Renamed log4j12-api to log4j-1.2-api. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-110">LOG4J2-110</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>TCPSocketManager would fail if the initial connection could not be established. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-120">LOG4J2-120</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>A broken socket connection would cause the TCPSocketManager to continuously reconnect. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-119">LOG4J2-119</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>The example for ThreadContextMapFilter was incorrect. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-123">LOG4J2-123</a>. Thanks to Olivier Lamy.</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>File renaming was using the wrong date value. Enhanced DefaultRolloverStrategy to store newest files in
highest index as well as lowest. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-116">LOG4J2-116</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>ThreadContext Map elements with null values are now ignored when constructing a Flume event and in the
RFC5424 Layout. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-115">LOG4J2-115</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>StructuredDataFilter createFilter was annotated with PluginAttr instead of PluginElement for the
KeyValuePairs. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-113">LOG4J2-113</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>StructuredDataMessage was validating the length of the values in the event Map instead of the lengths
of the keys. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-114">LOG4J2-114</a>. Thanks to Arkin Yetis.</td><td><a href="team-list.html#rgoers">rgoers</a></td></tr></table></div><div class="section"><h3>Release 2.0-beta3 - 2012-11-11<a name="Release_2.0-beta3_-_2012-11-11"></a></h3><a name="a2.0-beta3"></a><table border="0" class="bodyTable"><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/fix.gif" alt="fix" title="fix" /></p></div></td><td>Fix NullPointerException in ClassLoaderContextSelector when no class is returned from
the SecurityManager. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-108">LOG4J2-108</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>Add ability to customize the names of the Levels in the LevelPatternConverter. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-105">LOG4J2-105</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>PatternParser was not properly handling adjacent nested options Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-107">LOG4J2-107</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>Add support for loading plugins inside the OSGi bundle. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-95">LOG4J2-95</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/update.gif" alt="update" title="update" /></p></div></td><td>Add ThreadContext.push(String format, Object... args) Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-85">LOG4J2-85</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>The LogEvent was wrapping a ThrowableProxy with another ThrowableProxy when deserializing. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-103">LOG4J2-103</a>. Thanks to Das Archive.</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/update.gif" alt="update" title="update" /></p></div></td><td>Created combined jar to combine API and Core contents for users who only want the Log4j implementation.</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>Convert LogManager binding to use &quot;regular&quot; java properties instead of XML properties to workaround a
bug in Oracle's xmlparserv2 jar. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-104">LOG4J2-104</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>Added PropertiesRewritePolicy and ability to define properties on a Logger. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-28">LOG4J2-28</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>Build pdf of user's guide. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-87">LOG4J2-87</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/update.gif" alt="update" title="update" /></p></div></td><td>Added font and fontSize parameters to HTMLLayout. Replace newlines in message with br tag. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-29">LOG4J2-29</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>Added ability to configure from an InputSource. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-55">LOG4J2-55</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>The Facility value was being improperly calculated. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-102">LOG4J2-102</a>. Thanks to Emanuele Colombo.</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>A NullPointerException would occur if no format value was passed to the SyslogAppender. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-101">LOG4J2-101</a>. Thanks to Emanuele Colombo.</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>MapRewritePolicy had an extra call to putAll that caused updates to behave like adds. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-99">LOG4J2-99</a>. Thanks to Das Archive.</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>Avoid NPE when duplicate LoggerContextFactorys are present. Allow factories to specify a weight to allow
real implementations to outrank test implementations. Provide a simple default LoggerContextFactory.</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>Added several missing classes and methods for Log4j 1.x compatibility. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-97">LOG4J2-97</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>Interpolator was not stripping Lookup key separator when trying to locate the default value for a variable. Fixes <a class="externalLink" href="http://issues.apache.org/jira/browse/LOG4J2-94">LOG4J2-94</a>. Thanks to Denis Treskunov.</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 Category.forcedLog was wrapping the message with an ObjectMessage even if the parameter was an
ObjectMessage.</td><td><a href="team-list.html#rgoers">rgoers</a></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="bodyTable"><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="bodyTable"><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="bodyTable"><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="bodyTable"><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>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &copy; 1999-2013 <a class="external" href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</div>
</body>
</html>