blob: 74339467c3c2d87e2a65e9b50e8d72271c4836bb [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-sources/site/asciidoc/_release-notes/_2.17.2.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-17-2">2.17.2</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">Release date</dt>
<dd>
<p>2022-02-23</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>This release contains the changes noted below:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Over 50 improvements and fixes to the Log4j 1.x support.
Continued testing has shown it is a suitable replacement for Log4j 1.x in most cases.</p>
</li>
<li>
<p>Scripting now requires a system property be specified naming the languages the user wishes to allow.
The scripting engine will not load if the property isn&#8217;t set.</p>
</li>
<li>
<p>By default, the only remote protocol allowed for loading configuration files is HTTPS.
Users can specify a system property to allow others or prevent remote loading entirely.</p>
</li>
<li>
<p>Variable resolution has been modified so that only properties defined as properties in the configuration file can be recursive.
All other Lookups are now non-recursive.
This addresses issues users were having resolving lookups specified in property definitions for use in the <code>RoutingAppender</code> and <code>RollingFileAppender</code> due to restrictions put in place in 2.17.1.</p>
</li>
<li>
<p>Many other fixes and improvements.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters.
<code>log4j-slf4j-impl</code> should be used with SLF4J 1.7.x and earlier and <code>log4j-slf4j18-impl</code> should be used with SLF4J 1.8.x and later.
SLF4J-2.0.0 alpha releases are not fully supported.
See <a href="https://issues.apache.org/jira/browse/LOG4J2-2975">LOG4J2-2975</a> and <a href="https://jira.qos.ch/browse/SLF4J-511">SLF4J-511</a>.</p>
</div>
<div class="paragraph">
<p>The Log4j 2.17.2 API, as well as many core components, maintains binary compatibility with previous releases.</p>
</div>
<div class="paragraph">
<p>Apache Log4j 2.17.2 requires a minimum of Java 8 to build and run.
Log4j 2.12.4 is the last release to support Java 7.
Log4j 2.3.2 is the last release to support Java 6.
Java 6 and Java 7 are no longer supported by the Log4j team.</p>
</div>
<div class="paragraph">
<p>For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, or suggestions for improvement, see <a href="http://logging.apache.org/log4j/2.x/">the Apache Log4j 2 website</a>.</p>
</div>
<div class="sect2">
<h3 id="release-notes-2-17-2-added">Added</h3>
<div class="ulist">
<ul>
<li>
<p>Add Configurator.setLevel(Logger, Level), setLevel(String, String), and setLevel(Class, Level).</p>
</li>
<li>
<p>Add org.apache.logging.log4j.core.appender.AsyncAppender.getAppenders() to more easily port from org.apache.log4j.AsyncAppender.getAllAppenders().</p>
</li>
<li>
<p>Require log4j2.Script.enableLanguages to be specified to enable scripting for specific languages. (<a href="https://issues.apache.org/jira/browse/LOG4J2-2486">LOG4J2-2486</a>)</p>
</li>
<li>
<p>Add the log4j-to-jul JDK Logging Bridge (<a href="https://issues.apache.org/jira/browse/LOG4J2-3282">LOG4J2-3282</a>)</p>
</li>
<li>
<p>Limit loading of configuration via a url to https by default. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3297">LOG4J2-3297</a>)</p>
</li>
<li>
<p>Add TB support to FileSize. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3303">LOG4J2-3303</a>)</p>
</li>
<li>
<p>Add shorthand syntax for properties configuration format for specifying a logger level and appender refs. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3341">LOG4J2-3341</a>)</p>
</li>
<li>
<p>Add optional additional fields to NoSQLAppender. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3391">LOG4J2-3391</a>)</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="release-notes-2-17-2-changed">Changed</h3>
<div class="ulist">
<ul>
<li>
<p>Bump Jackson from 2.12.4 to 2.13.1.</p>
</li>
<li>
<p>Bump Mockito from 3.11.2 to 4.2.0.</p>
</li>
<li>
<p>Bump Woodstox 6.2.6 to 6.2.8.</p>
</li>
<li>
<p>Bump awaitility from 4.0.3 to 4.1.1 #663.</p>
</li>
<li>
<p>Bump de.flapdoodle.embed:de.flapdoodle.embed.mongo from 3.0.0 to 3.4.1. Update tests for binary incompatibilities in APIs.</p>
</li>
<li>
<p>Bump maven-compiler-plugin from 3.8.1 to 3.9.0.</p>
</li>
<li>
<p>Bump mongodb3.version from 3.12.4 to 3.12.10 #605.</p>
</li>
<li>
<p>Bump net.javacrumbs.json-unit:json-unit from 2.27.0 to 2.28.0.</p>
</li>
<li>
<p>Bump org.apache.activemq:activemq-broker from 5.16.3 to 5.16.4.</p>
</li>
<li>
<p>Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.3.1 to 3.3.2.</p>
</li>
<li>
<p>Bump org.assertj:assertj-core from 3.20.2 to 3.22.0.</p>
</li>
<li>
<p>Bump org.codehaus.groovy:groovy-* from 3.0.8 to 3.0.9.</p>
</li>
<li>
<p>Bump org.eclipse.persistence:org.eclipse.persistence.jpa from 2.7.9 to 2.7.10.</p>
</li>
<li>
<p>Bump org.fusesource.jansi:jansi from 2.3.4 to 2.4.0.</p>
</li>
<li>
<p>Bump org.jacoco:jacoco-maven-plugin from 0.8.6 to 0.8.7.</p>
</li>
<li>
<p>Bump org.junit.jupiter:junit-* from 5.7.2 to 5.8.2.</p>
</li>
<li>
<p>Bump org.junit-pioneer:junit-pioneer from 1.5.0 to 1.6.1.</p>
</li>
<li>
<p>Bump org.mongodb:bson from 4.2.2 to 4.5.0.</p>
</li>
<li>
<p>Bump org.mongodb:mongodb-driver-sync from 4.2.2 to 4.5.0.</p>
</li>
<li>
<p>Bump org.springframework:spring-* from 5.3.13 to 5.3.15.</p>
</li>
<li>
<p>Bump org.xmlunit:xmlunit-* from 2.8.3 to 2.8.4.</p>
</li>
<li>
<p>Replace usages of "compile" with "implementation" in the Gradle docs. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3215">LOG4J2-3215</a>)</p>
</li>
<li>
<p>Change modifier of method org.apache.logging.log4j.core.tools.Generate#generate to public (was package private) to facilitate automated code generation. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3267">LOG4J2-3267</a>)</p>
</li>
<li>
<p>log4j-jpl formats message parameters correctly using MessageFormat. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3345">LOG4J2-3345</a>)</p>
</li>
<li>
<p>Bump Tomcat from 8.5.20 to 10.0.14 in log4j-appserver along with some dependency clean-up. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3368">LOG4J2-3368</a>)</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="release-notes-2-17-2-fixed">Fixed</h3>
<div class="ulist">
<ul>
<li>
<p>Fix DTD error: Add missing ELEMENT for Marker.</p>
</li>
<li>
<p>Fix log4j-jakarta-web service file #723.</p>
</li>
<li>
<p>JndiManager reverts to 2.17.0 behavior: Read the system property for each call.</p>
</li>
<li>
<p>Log4j 1.2 bridge PropertiesConfiguration.buildAppender not adding filters to custom appender. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3281">LOG4J2-3281</a>)</p>
</li>
<li>
<p>Flag LogManager as initialized if the LoggerFactory is provided as a property. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3304">LOG4J2-3304</a>)</p>
</li>
<li>
<p>OptionConverter could cause a StackOverflowError. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3306">LOG4J2-3306</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge should ignore case in properties file keys. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3316">LOG4J2-3316</a>)</p>
</li>
<li>
<p>Fix RoutingAppender backward compatibility and disallow recursive evaluation of lookup results outside of configuration properties. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3317">LOG4J2-3317</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge class org.apache.log4j.spi.LoggingEvent missing constructors and public instance variable. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3326">LOG4J2-3326</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge fixes parsing filters in properties configuration file #680. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3326">LOG4J2-3326</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge missing OptionConverter.instantiateByKey(Properties, String, Class, Object). (<a href="https://issues.apache.org/jira/browse/LOG4J2-3326">LOG4J2-3326</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge does not support system properties in log4j.xml. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3328">LOG4J2-3328</a>)</p>
</li>
<li>
<p>Configurator.setLevel not fetching the correct LoggerContext. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3330">LOG4J2-3330</a>)</p>
</li>
<li>
<p>Fix ThreadContextDataInjector initialization deadlock (<a href="https://issues.apache.org/jira/browse/LOG4J2-3333">LOG4J2-3333</a>)</p>
</li>
<li>
<p>Fix substitutions when programmatic configuration is used (<a href="https://issues.apache.org/jira/browse/LOG4J2-3358">LOG4J2-3358</a>)</p>
</li>
<li>
<p>AppenderLoggingException logging any exception to a MongoDB Appender. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3392">LOG4J2-3392</a>)</p>
</li>
<li>
<p>Possible NullPointerException in MongoDb4DocumentObject, MongoDbDocumentObject, DefaultNoSqlObject. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3392">LOG4J2-3392</a>)</p>
</li>
<li>
<p>Fix DefaultConfiguration leak in PatternLayout (<a href="https://issues.apache.org/jira/browse/LOG4J2-3404">LOG4J2-3404</a>)</p>
</li>
<li>
<p>Document that the Spring Boot Lookup requires the log4j-spring-boot dependency. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3405">LOG4J2-3405</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge Check for non-existent appender when parsing properties #761. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3407">LOG4J2-3407</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge supports global threshold #764. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3407">LOG4J2-3407</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge throws a ClassCastException when logging a Map with non-String keys. (<a href="https://issues.apache.org/jira/browse/LOG4J2-3410">LOG4J2-3410</a>)</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.Hierarchy.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.component.helpers.Constants.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.helpers.Loader.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.helpers.LogLog.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.spi.DefaultRepositorySelector.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.spi.NOPLoggerRepository and NOPLogger.</p>
</li>
<li>
<p>Log4j 1.2 bridge adds org.apache.log4j.spi.RootLogger.</p>
</li>
<li>
<p>Log4j 1.2 bridge class Category is missing some protected instance variables.</p>
</li>
<li>
<p>Log4j 1.2 bridge class Category should implement AppenderAttachable.</p>
</li>
<li>
<p>Log4j 1.2 bridge class ConsoleAppender should extend WriterAppender and provide better compatibility with custom appenders.</p>
</li>
<li>
<p>Log4j 1.2 bridge class LogManager default constructor should be public.</p>
</li>
<li>
<p>Log4j 1.2 bridge class OptionConverter is missing selectAndConfigure() methods.</p>
</li>
<li>
<p>Log4j 1.2 bridge class PatternLayout is missing constants DEFAULT_CONVERSION_PATTERN and TTCC_CONVERSION_PATTERN.</p>
</li>
<li>
<p>Log4j 1.2 bridge class PropertyConfigurator should implement Configurator.</p>
</li>
<li>
<p>Log4j 1.2 bridge creates a SocketAppender instead of a SyslogAppender.</p>
</li>
<li>
<p>Log4j 1.2 bridge implements LogManager.getCurrentLoggers() fully.</p>
</li>
<li>
<p>Log4j 1.2 bridge implements most of DOMConfigurator.</p>
</li>
<li>
<p>Log4j 1.2 bridge interface Configurator doConfigure() methods should use LoggerRepository, not LoggerContext.</p>
</li>
<li>
<p>Log4j 1.2 bridge interface org.apache.log4j.spi.RendererSupport was in the wrong package and incomplete.</p>
</li>
<li>
<p>Log4j 1.2 bridge interfaces missing from package org.apache.log4j.spi: ThrowableRenderer, ThrowableRendererSupport, TriggeringEventEvaluator.</p>
</li>
<li>
<p>Log4j 1.2 bridge issues with filters #753.</p>
</li>
<li>
<p>Log4j 1.2 bridge method Category.exists(String) should be static.</p>
</li>
<li>
<p>Log4j 1.2 bridge method NDC.inherit(Stack) should not use generics to provide source compatibility.</p>
</li>
<li>
<p>Log4j 1.2 bridge methods Category.getChainedPriority() and getEffectiveLevel() should not be final.</p>
</li>
<li>
<p>Log4j 1.2 bridge methods missing in org.apache.log4j.Category: getDefaultHierarchy(), getHierarchy(), getLoggerRepository().</p>
</li>
<li>
<p>Log4j 1.2 bridge missed</p>
</li>
<li>
<p>Log4j 1.2 bridge missed org.apache.log4j.pattern.FormattingInfo.</p>
</li>
<li>
<p>Log4j 1.2 bridge missed org.apache.log4j.pattern.NameAbbreviator.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing DefaultThrowableRenderer.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing FormattingInfo.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing PatternConverter.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing PatternParser.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing UtilLoggingLevel.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing class org.apache.log4j.or.RendererMap.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing some LocationInfo constructors.</p>
</li>
<li>
<p>Log4j 1.2 bridge missing some ThrowableInformation constructors.</p>
</li>
<li>
<p>Log4j 1.2 bridge now logs a warning instead of throwing an NullPointerException when building a Syslog appender with a missing "SyslogHost" param.</p>
</li>
<li>
<p>Log4j 1.2 bridge should allow property and XML attributes to start with either an upper-case or lower-case letter.</p>
</li>
<li>
<p>Log4j 1.2 bridge supports the SocketAppender.</p>
</li>
<li>
<p>Log4j 1.2 bridge throws ClassCastException when using SimpleLayout and others #708.</p>
</li>
<li>
<p>Log4j 1.2 bridge uses some incorrect default property values in some appenders.</p>
</li>
<li>
<p>Log4j 1.2 bridge uses the wrong default values for a TTCCLayout #709.</p>
</li>
<li>
<p>Log4j 1.2 bridge uses the wrong file pattern for rolling file appenders #710.</p>
</li>
<li>
<p>Trim whitespace before parsing a String into an Integer.</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>