<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.1 from org.revapi:revapi-maven-plugin:0.11.1:report at 2020-05-10
 | Rendered using Apache Maven Fluido Skin 1.8
-->
<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.9.1" />
    <title>Log4j 1.x Adaptor &#x2013; API Change Analysis Results</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.8.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.8.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg"  alt=""/></a></div>
          <div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png"  alt=""/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-05-10<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.13.3</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../index.html" title="Log4j">Log4j</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></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="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</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" 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="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</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="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
    <li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</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="none"></span>Security</a></li>
    <li><a href="../support.html" title="Support"><span class="none"></span>Support</a></li>
    <li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li>
    <li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></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/book.png" alt="Manual" 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/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li>
    <li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></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="../manual/scala-api.html" 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/tag.png" alt="Related Projects" border="0"/> Related Projects</li>
    <li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li>
    <li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" border="0"/> Components</li>
    <li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li>
    <li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li>
    <li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
    <li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
    <li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
    <li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
    <li><a href="../log4j-jpl/index.html" title="JDK Platform Logger"><span class="none"></span>JDK Platform Logger</a></li>
    <li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
    <li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
    <li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
    <li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
    <li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
    <li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
    <li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
    <li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li>
    <li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
    <li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
    <li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
    <li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li>
    <li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
    <li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
     <ul class="nav nav-list">
      <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
      <li><a href="rat-report.html" title="Rat Report"><span class="none"></span>Rat Report</a></li>
      <li class="active"><a href="#"><span class="none"></span>API Change Analysis</a></li>
      <li><a href="checkstyle.html" title="Checkstyle"><span class="none"></span>Checkstyle</a></li>
      <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
      <li><a href="findbugs.html" title="FindBugs"><span class="none"></span>FindBugs</a></li>
      <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a></li>
      <li><a href="cpd.html" title="CPD"><span class="none"></span>CPD</a></li>
      <li><a href="pmd.html" title="PMD"><span class="none"></span>PMD</a></li>
     </ul></li>
   <li class="nav-header"><img class="imageLink" src="icon-info-sign" alt="Log4j Project Information" border="0"/> Log4j Project Information</li>
    <li><a href="../dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
    <li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
    <li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li>
    <li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li>
    <li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li>
    <li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li>
   <li class="nav-header"><img class="imageLink" src="icon-cog" alt="Log4j Project Reports" border="0"/> Log4j Project Reports</li>
    <li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li>
    <li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
    <li><a href="../surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li>
    <li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <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" >
<section>
<h2>API Change Analysis Results</h2>
<p>The summary of the API changes between artifacts org.apache.logging.log4j:log4j-1.2-api:jar:2.13.2 and org.apache.logging.log4j:log4j-1.2-api:jar:2.13.3.</p><section>
<h3><a name="Potentially_Breaking_Changes"></a>Potentially Breaking Changes</h3><section>
<h4><a name="Binary"></a>Binary</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Appender</b></code>
<td>Class 'org.apache.logging.log4j.core.Appender' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter.Result</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter.Result' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Layout</b></code>
<td>Class 'org.apache.logging.log4j.core.Layout' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LogEvent</b></code>
<td>Class 'org.apache.logging.log4j.core.LogEvent' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LoggerContext</b></code>
<td>Class 'org.apache.logging.log4j.core.LoggerContext' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.appender.rewrite.RewritePolicy</b></code>
<td>Class 'org.apache.logging.log4j.core.appender.rewrite.RewritePolicy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Configuration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Configuration' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.ConfigurationSource</b></code>
<td>Class 'org.apache.logging.log4j.core.config.ConfigurationSource' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Property</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Property' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.impl.ThrowableProxy</b></code>
<td>Class 'org.apache.logging.log4j.core.impl.ThrowableProxy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.layout.ByteBufferDestination</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.ByteBufferDestination' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.time.Instant</b></code>
<td>Class 'org.apache.logging.log4j.core.time.Instant' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Appender</b></code>
<td>Class 'org.apache.logging.log4j.core.Appender' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter.Result</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter.Result' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Layout</b></code>
<td>Class 'org.apache.logging.log4j.core.Layout' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LogEvent</b></code>
<td>Class 'org.apache.logging.log4j.core.LogEvent' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LoggerContext</b></code>
<td>Class 'org.apache.logging.log4j.core.LoggerContext' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.appender.rewrite.RewritePolicy</b></code>
<td>Class 'org.apache.logging.log4j.core.appender.rewrite.RewritePolicy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Configuration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Configuration' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.ConfigurationSource</b></code>
<td>Class 'org.apache.logging.log4j.core.config.ConfigurationSource' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Property</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Property' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.impl.ThrowableProxy</b></code>
<td>Class 'org.apache.logging.log4j.core.impl.ThrowableProxy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.layout.ByteBufferDestination</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.ByteBufferDestination' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.time.Instant</b></code>
<td>Class 'org.apache.logging.log4j.core.time.Instant' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr></table></section><section>
<h4><a name="Source"></a>Source</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Appender</b></code>
<td>Class 'org.apache.logging.log4j.core.Appender' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter.Result</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter.Result' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Layout</b></code>
<td>Class 'org.apache.logging.log4j.core.Layout' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LogEvent</b></code>
<td>Class 'org.apache.logging.log4j.core.LogEvent' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LoggerContext</b></code>
<td>Class 'org.apache.logging.log4j.core.LoggerContext' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.appender.rewrite.RewritePolicy</b></code>
<td>Class 'org.apache.logging.log4j.core.appender.rewrite.RewritePolicy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Configuration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Configuration' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.ConfigurationSource</b></code>
<td>Class 'org.apache.logging.log4j.core.config.ConfigurationSource' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Property</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Property' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.impl.ThrowableProxy</b></code>
<td>Class 'org.apache.logging.log4j.core.impl.ThrowableProxy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.layout.ByteBufferDestination</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.ByteBufferDestination' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.time.Instant</b></code>
<td>Class 'org.apache.logging.log4j.core.time.Instant' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Appender</b></code>
<td>Class 'org.apache.logging.log4j.core.Appender' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Filter.Result</b></code>
<td>Class 'org.apache.logging.log4j.core.Filter.Result' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.Layout</b></code>
<td>Class 'org.apache.logging.log4j.core.Layout' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LogEvent</b></code>
<td>Class 'org.apache.logging.log4j.core.LogEvent' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.LoggerContext</b></code>
<td>Class 'org.apache.logging.log4j.core.LoggerContext' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.appender.rewrite.RewritePolicy</b></code>
<td>Class 'org.apache.logging.log4j.core.appender.rewrite.RewritePolicy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Configuration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Configuration' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.ConfigurationSource</b></code>
<td>Class 'org.apache.logging.log4j.core.config.ConfigurationSource' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.Property</b></code>
<td>Class 'org.apache.logging.log4j.core.config.Property' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration</b></code>
<td>Class 'org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.impl.ThrowableProxy</b></code>
<td>Class 'org.apache.logging.log4j.core.impl.ThrowableProxy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.layout.ByteBufferDestination</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.ByteBufferDestination' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.logging.log4j.core.time.Instant</b></code>
<td>Class 'org.apache.logging.log4j.core.time.Instant' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr></table></section></section></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<p align="center">Copyright &copy; 1999-2020 <a class="external" href="http://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>
  </body>
</html>
