blob: 8f3ad119b2a44c00e33ab54741a28bc8a5607145 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-sources/site/asciidoc/_release-notes/_2.0-rc1.adoc at 2024-03-06
| Rendered using Apache Maven Fluido Skin 1.11.2
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<title>Log4j &#x2013; </title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.11.2.min.css" />
<link rel="stylesheet" href="../css/site.css" />
<link rel="stylesheet" href="../css/print.css" media="print" />
<script src="../js/apache-maven-fluido-1.11.2.min.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<header>
<div id="banner">
<div class="pull-left"><a href="../../.." id="bannerLeft"><img src="../images/ls-logo.jpg" alt="" style="" /></a></div>
<div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/logo.png" alt="" style="" /></a></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2024-03-06<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.23.1</li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="../../../" title="Logging Services">Logging Services</a></li>
<li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
<li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/home.png" alt="Apache Log4j™ 2" style="border: 0;" /> Apache Log4j™ 2</li>
<li><a href="../index.html" title="About"><span class="none"></span>About</a></li>
<li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li>
<li><a href="../support.html" title="Support"><span class="none"></span>Support</a></li>
<li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
<li><a href="../release-notes.html" title="Release Notes"><span class="none"></span>Release Notes</a></li>
<li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
<li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
<li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
<li><a href="../security.html" title="Security"><span class="icon-chevron-right"></span>Security</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/book.png" alt="Manual" style="border: 0;" /> Manual</li>
<li><a href="../manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
<li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
<li><a href="../manual/api-separation.html" title="API Separation"><span class="none"></span>API Separation</a></li>
<li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="icon-chevron-right"></span>Log4j 1.x Migration</a></li>
<li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
<li><a href="../../kotlin" title="Kotlin API"><span class="none"></span>Kotlin API</a></li>
<li><a href="../../scala" title="Scala API"><span class="none"></span>Scala API</a></li>
<li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
<li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
<li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
<li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
<li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
<li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
<li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
<li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
<li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
<li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
<li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
<li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
<li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
<li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
<li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/pencil.png" alt="For Contributors" style="border: 0;" /> For Contributors</li>
<li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
<li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/cog.png" alt="Components" style="border: 0;" /> Components</li>
<li><a href="../log4j-api.html" title="API"><span class="none"></span>API</a></li>
<li><a href="../log4j-jcl.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
<li><a href="../log4j-1.2-api.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
<li><a href="../log4j-slf4j-impl.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
<li><a href="../log4j-jul.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
<li><a href="../log4j-jpl.html" title="JDK Platform Logger"><span class="none"></span>JDK Platform Logger</a></li>
<li><a href="../log4j-to-slf4j.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
<li><a href="../log4j-flume-ng.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
<li><a href="../log4j-taglib.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
<li><a href="../log4j-jmx-gui.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
<li><a href="../log4j-web.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
<li><a href="../log4j-jakarta-web.html" title="Log4j Jakarta Web Application Support"><span class="none"></span>Log4j Jakarta Web Application Support</a></li>
<li><a href="../log4j-appserver.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
<li><a href="../log4j-couchdb.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
<li><a href="../log4j-mongodb3.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
<li><a href="../log4j-mongodb4.html" title="Log4j MongoDB4 appender"><span class="none"></span>Log4j MongoDB4 appender</a></li>
<li><a href="../log4j-cassandra.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
<li><a href="../log4j-iostreams.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
<li><a href="../log4j-docker.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
<li><a href="../log4j-kubernetes.html" title="Log4j Kubernetes Support"><span class="none"></span>Log4j Kubernetes Support</a></li>
<li><a href="../log4j-spring-boot.html" title="Log4j Spring Boot"><span class="none"></span>Log4j Spring Boot</a></li>
<li><a href="../log4j-spring-cloud-config-client.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/tag.png" alt="Related Projects" style="border: 0;" /> Related Projects</li>
<li><a href="../../../chainsaw/2.x/index.html" title="Chainsaw"><span class="none"></span>Chainsaw</a></li>
<li><a href="../../../log4cxx/latest_stable/index.html" title="Log4Cxx"><span class="none"></span>Log4Cxx</a></li>
<li><a href="../../../log4j-audit/latest/index.html" title="Log4j Audit"><span class="none"></span>Log4j Audit</a></li>
<li><a href="../../kotlin" title="Log4j Kotlin"><span class="none"></span>Log4j Kotlin</a></li>
<li><a href="../../scala" title="Log4j Scala"><span class="none"></span>Log4j Scala</a></li>
<li><a href="../../transform" title="Log4j Transform"><span class="none"></span>Log4j Transform</a></li>
<li><a href="../../../log4net/index.html" title="Log4Net"><span class="none"></span>Log4Net</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/link.png" alt="Legacy Sites" style="border: 0;" /> Legacy Sites</li>
<li><a href="../../log4j-2.12.4/" title="Log4j 2.12.4 - Java 7"><span class="none"></span>Log4j 2.12.4 - Java 7</a></li>
<li><a href="../../log4j-2.3.2/" title="Log4j 2.3.2 - Java 6"><span class="none"></span>Log4j 2.3.2 - Java 6</a></li>
<li><a href="../../1.2/" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
<li class="nav-header"><img class="imageLink" src="../img/glyphicons/info.png" alt="Project Information" style="border: 0;" /> Project Information</li>
<li><a href="../team.html" title="Project Team"><span class="none"></span>Project Team</a></li>
<li><a href="https://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="Project License"><span class="none"></span>Project License</a></li>
<li><a href="https://github.com/apache/logging-log4j2" class="externalLink" title="Source Repository"><span class="none"></span>Source Repository</a></li>
<li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
<li><a href="../javadoc.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
<li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
</ul>
</nav>
<div class="well sidebar-nav">
<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="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10" >
<div class="sect1">
<h2 id="release-notes-2-0-rc1">2.0-rc1</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">Release date</dt>
<dd>
<p>2014-02-16</p>
</dd>
</dl>
</div>
<div class="sect2">
<h3 id="release-notes-2-0-rc1-added">Added</h3>
<div class="ulist">
<ul>
<li>
<p>Configure FileAppender buffer size. (<a href="https://issues.apache.org/jira/browse/LOG4J2-401">LOG4J2-401</a>)</p>
</li>
<li>
<p>Configure RandomAccessFileAppender buffer size. (<a href="https://issues.apache.org/jira/browse/LOG4J2-402">LOG4J2-402</a>)</p>
</li>
<li>
<p>Format log event time as UNIX time (seconds or milliseconds). (<a href="https://issues.apache.org/jira/browse/LOG4J2-415">LOG4J2-415</a>)</p>
</li>
<li>
<p>Create a lookup for resource bundle substitution. (<a href="https://issues.apache.org/jira/browse/LOG4J2-420">LOG4J2-420</a>)</p>
</li>
<li>
<p>(JMX) Added MBeans for instrumenting AsyncAppenders and AsyncLogger RingBuffers, exposing queue size, remaining capacity and other attributes. (<a href="https://issues.apache.org/jira/browse/LOG4J2-423">LOG4J2-423</a>)</p>
</li>
<li>
<p>Added option to toggle Thread name caching in AsyncLogger. (<a href="https://issues.apache.org/jira/browse/LOG4J2-467">LOG4J2-467</a>)</p>
</li>
<li>
<p>ThreadContext now uses plain ThreadLocal by default, unless system property isThreadContextMapInheritable has value "true". (<a href="https://issues.apache.org/jira/browse/LOG4J2-479">LOG4J2-479</a>)</p>
</li>
<li>
<p>Add Stream interface to Loggers. (<a href="https://issues.apache.org/jira/browse/LOG4J2-481">LOG4J2-481</a>)</p>
</li>
<li>
<p>Documentation fix: The attribute of Route to refer to an appender is "ref" not "AppenderRef". (<a href="https://issues.apache.org/jira/browse/LOG4J2-482">LOG4J2-482</a>)</p>
</li>
<li>
<p>(JMX) JMX Client GUI should dynamically update when LoggerContext MBeans are registered/unregistered in MBean server. (<a href="https://issues.apache.org/jira/browse/LOG4J2-530">LOG4J2-530</a>)</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="release-notes-2-0-rc1-changed">Changed</h3>
<div class="ulist">
<ul>
<li>
<p>PatternLayout option to not output ANSI escape codes if no Console is available. (<a href="https://issues.apache.org/jira/browse/LOG4J2-413">LOG4J2-413</a>)</p>
</li>
<li>
<p>Add support for custom logging levels. (<a href="https://issues.apache.org/jira/browse/LOG4J2-41">LOG4J2-41</a>)</p>
</li>
<li>
<p>Update Flume Appender to use Flume 1.4.0. (<a href="https://issues.apache.org/jira/browse/LOG4J2-453">LOG4J2-453</a>)</p>
</li>
<li>
<p>Update EasyMock to version 3.2. (<a href="https://issues.apache.org/jira/browse/LOG4J2-490">LOG4J2-490</a>)</p>
</li>
<li>
<p>Space Level numbers by 100 instead of 1. (<a href="https://issues.apache.org/jira/browse/LOG4J2-507">LOG4J2-507</a>)</p>
</li>
<li>
<p>Rename package org.apache.logging.log4j.core.appender.rolling.helper to org.apache.logging.log4j.core.appender.rolling.action. (<a href="https://issues.apache.org/jira/browse/LOG4J2-528">LOG4J2-528</a>)</p>
</li>
<li>
<p>Resource leak in Flume appender when it cannot create a BerkeleyDB db. (<a href="https://issues.apache.org/jira/browse/LOG4J2-532">LOG4J2-532</a>)</p>
</li>
<li>
<p>Renamed the org.apache.logging.log4j.core.appender.db.nosql.couch package to org.apache.logging.log4j.core.appender.db.nosql.couchdb.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="release-notes-2-0-rc1-fixed">Fixed</h3>
<div class="ulist">
<ul>
<li>
<p>Resolved memory leak by releasing reference to ThreadLocal when AsyncLogger is stopped. (<a href="https://issues.apache.org/jira/browse/LOG4J2-323">LOG4J2-323</a>)</p>
</li>
<li>
<p>Changed the Servlet 3.0 auto-initializer to add the filter by class to get around a WebLogic bug. (<a href="https://issues.apache.org/jira/browse/LOG4J2-344">LOG4J2-344</a>)</p>
</li>
<li>
<p>(OSGi) logging.log4j-1.2-api doesn&#8217;t export the log4j API 1.2. Dependent bundles can not be resolved. (<a href="https://issues.apache.org/jira/browse/LOG4J2-345">LOG4J2-345</a>)</p>
</li>
<li>
<p>Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This ensures behavioral consistency across containers. This includes additional fixes to abort initialization if a duplicate filter already exists and to check the actual Servlet EFFECTIVE version. (<a href="https://issues.apache.org/jira/browse/LOG4J2-359">LOG4J2-359</a>)</p>
</li>
<li>
<p>(OSGi) Fix NPE during shutdown. (<a href="https://issues.apache.org/jira/browse/LOG4J2-377">LOG4J2-377</a>)</p>
</li>
<li>
<p>Fixed issue that prevented Log4J from working in Google App Engine. (<a href="https://issues.apache.org/jira/browse/LOG4J2-379">LOG4J2-379</a>)</p>
</li>
<li>
<p>Fixed issues with time-based file rollover (monthly, weekly, hourly and every minute). (<a href="https://issues.apache.org/jira/browse/LOG4J2-385">LOG4J2-385</a>)</p>
</li>
<li>
<p>Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first before stopping other appenders. (<a href="https://issues.apache.org/jira/browse/LOG4J2-392">LOG4J2-392</a>)</p>
</li>
<li>
<p>Configure properties and setup Interpolator before processing rest of configuration. (<a href="https://issues.apache.org/jira/browse/LOG4J2-398">LOG4J2-398</a>)</p>
</li>
<li>
<p>@EnterpriseNumber" was missing in the ID of structured data when RFC5424Layout is used (<a href="https://issues.apache.org/jira/browse/LOG4J2-404">LOG4J2-404</a>)</p>
</li>
<li>
<p>Configuration was being processed twice at startup. (<a href="https://issues.apache.org/jira/browse/LOG4J2-405">LOG4J2-405</a>)</p>
</li>
<li>
<p>(JMX) Unregister all log4j JMX MBeans when the LoggerContext is stopped to allow web application classes to be GC-ed on undeploy. (<a href="https://issues.apache.org/jira/browse/LOG4J2-406">LOG4J2-406</a>)</p>
</li>
<li>
<p>Fixed inability to recover from lost database connection in database appenders by connecting (borrowing from pool) on new write internal or on flush. (<a href="https://issues.apache.org/jira/browse/LOG4J2-407">LOG4J2-407</a>)</p>
</li>
<li>
<p>Fixed error in documentation code example in manual/eventlogging.html (<a href="https://issues.apache.org/jira/browse/LOG4J2-408">LOG4J2-408</a>)</p>
</li>
<li>
<p>Created a utility to properly escape backslashes before creating URIs, and changed URI creation to use the utility instead of instantiating URI directly. (<a href="https://issues.apache.org/jira/browse/LOG4J2-409">LOG4J2-409</a>)</p>
</li>
<li>
<p>Fix Event Level / LoggerConfig Level table at the architecture documentation page. (<a href="https://issues.apache.org/jira/browse/LOG4J2-417">LOG4J2-417</a>)</p>
</li>
<li>
<p>Resolved memory leak by populating AsyncLoggerConfigHelper ring buffer via EventTranslatorTwoArg, eliminating the need for a ThreadLocal. (<a href="https://issues.apache.org/jira/browse/LOG4J2-425">LOG4J2-425</a>)</p>
</li>
<li>
<p>Use the formatted Message in RFC5424Layout for non-StructuredDataMessages. (<a href="https://issues.apache.org/jira/browse/LOG4J2-430">LOG4J2-430</a>)</p>
</li>
<li>
<p>Ensured the JDBCAppender commits transactions after a single write or a flush of multiple writes. (<a href="https://issues.apache.org/jira/browse/LOG4J2-438">LOG4J2-438</a>)</p>
</li>
<li>
<p>Fixed problem with JDBC and JPA appender connectivity in WebSphere by connecting (borrowing from pool) on new write internal or on flush. (<a href="https://issues.apache.org/jira/browse/LOG4J2-442">LOG4J2-442</a>)</p>
</li>
<li>
<p>(JMX) Fixed issue where log4j2 LoggerContext did not show up in JMX GUI or JConsole. (<a href="https://issues.apache.org/jira/browse/LOG4J2-443">LOG4J2-443</a>)</p>
</li>
<li>
<p>ResolverUtil cannot find packages in file URLs which include the '+' character. (<a href="https://issues.apache.org/jira/browse/LOG4J2-445">LOG4J2-445</a>)</p>
</li>
<li>
<p>XMLLayout does not include marker name. (<a href="https://issues.apache.org/jira/browse/LOG4J2-447">LOG4J2-447</a>)</p>
</li>
<li>
<p>Fixed typo in documentation: system property should be log4j2.loggerContextFactory (<a href="https://issues.apache.org/jira/browse/LOG4J2-451">LOG4J2-451</a>)</p>
</li>
<li>
<p>Added a ServletContext attribute that, when set to "true", disables Log4j&#8217;s auto-initialization in Servlet 3.0+ web applications. (<a href="https://issues.apache.org/jira/browse/LOG4J2-452">LOG4J2-452</a>)</p>
</li>
<li>
<p>TimeBasedTriggeringPolicy should use event time millis. (<a href="https://issues.apache.org/jira/browse/LOG4J2-454">LOG4J2-454</a>)</p>
</li>
<li>
<p>RingBufferLogEvent should return Message timestamp for TimestampMessage messages. (<a href="https://issues.apache.org/jira/browse/LOG4J2-455">LOG4J2-455</a>)</p>
</li>
<li>
<p>Fixed failure of JDBC and JPA appender to properly release database connections by connecting (borrowing from pool) on new write internal or on flush. (<a href="https://issues.apache.org/jira/browse/LOG4J2-457">LOG4J2-457</a>)</p>
</li>
<li>
<p>Set external context when constructing the LoggerContext. (<a href="https://issues.apache.org/jira/browse/LOG4J2-459">LOG4J2-459</a>)</p>
</li>
<li>
<p>Fix LogEvent to never return null Level, fixes LevelPatternConverter.format may throw NPE. (<a href="https://issues.apache.org/jira/browse/LOG4J2-462">LOG4J2-462</a>)</p>
</li>
<li>
<p>Fixed documentation for MyApp example application in the Automatic Configuration section (<a href="https://issues.apache.org/jira/browse/LOG4J2-463">LOG4J2-463</a>)</p>
</li>
<li>
<p>Support arrays as sub-elements of a JSON configuration. (<a href="https://issues.apache.org/jira/browse/LOG4J2-464">LOG4J2-464</a>)</p>
</li>
<li>
<p>Fix LogEvent to never return null Level, fixes ThresholdFilter throws NPE. (<a href="https://issues.apache.org/jira/browse/LOG4J2-465">LOG4J2-465</a>)</p>
</li>
<li>
<p>Cannot load log4j2 config file if path contains plus '+' characters. (<a href="https://issues.apache.org/jira/browse/LOG4J2-466">LOG4J2-466</a>)</p>
</li>
<li>
<p>hostName property was not being set until after the first configuration element. (<a href="https://issues.apache.org/jira/browse/LOG4J2-470">LOG4J2-470</a>)</p>
</li>
<li>
<p>Fixed issue where toString methods that perform logging could deadlock AsyncLogger. (<a href="https://issues.apache.org/jira/browse/LOG4J2-471">LOG4J2-471</a>)</p>
</li>
<li>
<p>BaseConfiguration class does not properly implement Configuration interface. (<a href="https://issues.apache.org/jira/browse/LOG4J2-472">LOG4J2-472</a>)</p>
</li>
<li>
<p>Changed the MongoDBConnection to add a MongoDB encoding hook instead of a decoding hook. (<a href="https://issues.apache.org/jira/browse/LOG4J2-475">LOG4J2-475</a>)</p>
</li>
<li>
<p>NPE in ClassLoaderContextSelector. (<a href="https://issues.apache.org/jira/browse/LOG4J2-477">LOG4J2-477</a>)</p>
</li>
<li>
<p>The message and ndc fields are not JavaScript escaped in JSONLayout. (<a href="https://issues.apache.org/jira/browse/LOG4J2-478">LOG4J2-478</a>)</p>
</li>
<li>
<p>Fixed issue where toString methods that perform logging could deadlock AsyncAppender. (<a href="https://issues.apache.org/jira/browse/LOG4J2-485">LOG4J2-485</a>)</p>
</li>
<li>
<p>Fixed the JPAAppender&#8217;s overuse of transactions by connecting (borrowing from pool) on new write internal or on flush. (<a href="https://issues.apache.org/jira/browse/LOG4J2-489">LOG4J2-489</a>)</p>
</li>
<li>
<p>(JMX) Fixed MalformedObjectNameException if context name contains '=' or newline characters. (<a href="https://issues.apache.org/jira/browse/LOG4J2-492">LOG4J2-492</a>)</p>
</li>
<li>
<p>(JMX - ObjectNames changed!) Unloading one web application unloads JMX MBeans for all web applications. (<a href="https://issues.apache.org/jira/browse/LOG4J2-500">LOG4J2-500</a>)</p>
</li>
<li>
<p>Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first before stopping other appenders. (<a href="https://issues.apache.org/jira/browse/LOG4J2-511">LOG4J2-511</a>)</p>
</li>
<li>
<p>Exposed Log4j web support interface and methods and the LoggerContext through ServletContext attributes so that threads not affected by filters (such as asynchronous threads) can utilize the LoggerContext. Also updated the Log4j filter so that it supports async. (<a href="https://issues.apache.org/jira/browse/LOG4J2-512">LOG4J2-512</a>)</p>
</li>
<li>
<p>Switch in log4j-1.2-api Category.getEffectiveLevel has no cases for FATAL, OFF. (<a href="https://issues.apache.org/jira/browse/LOG4J2-517">LOG4J2-517</a>)</p>
</li>
<li>
<p>LocalizedMessage serialization is broken. (<a href="https://issues.apache.org/jira/browse/LOG4J2-523">LOG4J2-523</a>)</p>
</li>
<li>
<p>Fixed bugs where rolled log files were overwritten by RollingFile appender with composite time and size based policies. (<a href="https://issues.apache.org/jira/browse/LOG4J2-531">LOG4J2-531</a>)</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="release-notes-2-0-rc1-removed">Removed</h3>
<div class="ulist">
<ul>
<li>
<p>Removed the DataSourceConnectionSource and the &lt;DriverManager&gt; plugin for the JDBC Appender. It is not safe to use. Please use the DataSource or factory connection sources backed by a connection pool.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p align="center">Copyright &copy; 1999-2024 <a class="external" href="https://www.apache.org">The 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.</p>
</div>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>