<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_144) on Tue Feb 25 21:24:21 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Log4j App Server Support 2.13.1 API)</title>
<meta name="date" content="2020-02-25">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Apache Log4j App Server Support 2.13.1 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#debug-java.lang.String-java.lang.Object...-">debug(String, Object...)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#debug-java.lang.String-java.lang.Throwable-">debug(String, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#debug-java.lang.Throwable-">debug(Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#debug-java.lang.Object-">debug(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#debug-java.lang.Object-java.lang.Throwable-">debug(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#error-java.lang.Object-">error(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#error-java.lang.Object-java.lang.Throwable-">error(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#fatal-java.lang.Object-">fatal(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#fatal-java.lang.Object-java.lang.Throwable-">fatal(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#getName--">getName()</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#ignore-java.lang.Throwable-">ignore(Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#info-java.lang.String-java.lang.Object...-">info(String, Object...)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#info-java.lang.String-java.lang.Throwable-">info(String, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#info-java.lang.Throwable-">info(Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#info-java.lang.Object-">info(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#info-java.lang.Object-java.lang.Throwable-">info(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#isDebugEnabled--">isDebugEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isDebugEnabled--">isDebugEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isErrorEnabled--">isErrorEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isFatalEnabled--">isFatalEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isInfoEnabled--">isInfoEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isTraceEnabled--">isTraceEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#isWarnEnabled--">isWarnEnabled()</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty"><span class="typeNameLink">Log4j2Logger</span></a> - Class in <a href="org/apache/logging/log4j/appserver/jetty/package-summary.html">org.apache.logging.log4j.appserver.jetty</a></dt>
<dd>
<div class="block">Provides a native Apache Log4j 2 logger for Eclipse Jetty logging.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#Log4j2Logger--">Log4j2Logger()</a></span> - Constructor for class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#Log4j2Logger-java.lang.String-">Log4j2Logger(String)</a></span> - Constructor for class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#newLogger-java.lang.String-">newLogger(String)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/logging/log4j/appserver/jetty/package-summary.html">org.apache.logging.log4j.appserver.jetty</a> - package org.apache.logging.log4j.appserver.jetty</dt>
<dd>
<div class="block">Log4j integration with Eclipse Jetty.</div>
</dd>
<dt><a href="org/apache/logging/log4j/appserver/tomcat/package-summary.html">org.apache.logging.log4j.appserver.tomcat</a> - package org.apache.logging.log4j.appserver.tomcat</dt>
<dd>
<div class="block">Log4j integration with Apache Tomcat 8.5 or greater.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#setDebugEnabled-boolean-">setDebugEnabled(boolean)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat"><span class="typeNameLink">TomcatLogger</span></a> - Class in <a href="org/apache/logging/log4j/appserver/tomcat/package-summary.html">org.apache.logging.log4j.appserver.tomcat</a></dt>
<dd>
<div class="block">Implements the Log interface from Tomcat 8.5 and greater.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#TomcatLogger--">TomcatLogger()</a></span> - Constructor for class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>
<div class="block">This constructor is used by ServiceLoader to load an instance of the class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#TomcatLogger-java.lang.String-">TomcatLogger(String)</a></span> - Constructor for class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>
<div class="block">This constructor is used by LogFactory to create a new Logger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#trace-java.lang.Object-">trace(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#trace-java.lang.Object-java.lang.Throwable-">trace(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#warn-java.lang.String-java.lang.Object...-">warn(String, Object...)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#warn-java.lang.String-java.lang.Throwable-">warn(String, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html#warn-java.lang.Throwable-">warn(Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.jetty.<a href="org/apache/logging/log4j/appserver/jetty/Log4j2Logger.html" title="class in org.apache.logging.log4j.appserver.jetty">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#warn-java.lang.Object-">warn(Object)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html#warn-java.lang.Object-java.lang.Throwable-">warn(Object, Throwable)</a></span> - Method in class org.apache.logging.log4j.appserver.tomcat.<a href="org/apache/logging/log4j/appserver/tomcat/TomcatLogger.html" title="class in org.apache.logging.log4j.appserver.tomcat">TomcatLogger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:W">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><p align="center">Copyright &#169; 1999-2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br />             Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo,             and the Apache Log4j logo are trademarks of The Apache Software Foundation.</p></small></p>
</body>
</html>
