<!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:19:07 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Log4j MongoDB 3 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 MongoDB 3 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="org/apache/logging/log4j/mongodb3/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/logging/log4j/mongodb3/package-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:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</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:M">M</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:U">U</a>&nbsp;<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#build--">build()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#Builder--">Builder()</a></span> - Constructor for class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html#closeImpl--">closeImpl()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html#createList-int-">createList(int)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html#createObject--">createObject()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbConnection</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/LevelCodec.html#decode-org.bson.BsonReader-org.bson.codecs.DecoderContext-">decode(BsonReader, DecoderContext)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/LevelCodec.html" title="class in org.apache.logging.log4j.mongodb3">LevelCodec</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/mongodb3/LevelCodec.html#encode-org.bson.BsonWriter-org.apache.logging.log4j.Level-org.bson.codecs.EncoderContext-">encode(BsonWriter, Level, EncoderContext)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/LevelCodec.html" title="class in org.apache.logging.log4j.mongodb3">LevelCodec</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/mongodb3/MongoDbProvider.html#getConnection--">getConnection()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/LevelCodec.html#getEncoderClass--">getEncoderClass()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/LevelCodec.html" title="class in org.apache.logging.log4j.mongodb3">LevelCodec</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/mongodb3/MongoDbConnection.html#insertObject-org.apache.logging.log4j.core.appender.nosql.NoSqlObject-">insertObject(NoSqlObject&lt;Document&gt;)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbConnection</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="org/apache/logging/log4j/mongodb3/LevelCodec.html" title="class in org.apache.logging.log4j.mongodb3"><span class="typeNameLink">LevelCodec</span></a> - Class in <a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</a></dt>
<dd>
<div class="block">A BSON Codec for Log4j <code>Level</code>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/LevelCodec.html#LevelCodec--">LevelCodec()</a></span> - Constructor for class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/LevelCodec.html" title="class in org.apache.logging.log4j.mongodb3">LevelCodec</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3"><span class="typeNameLink">MongoDbConnection</span></a> - Class in <a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</a></dt>
<dd>
<div class="block">The MongoDB implementation of <code>NoSqlConnection</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html#MongoDbConnection-com.mongodb.MongoClient-com.mongodb.client.MongoDatabase-java.lang.String-boolean-java.lang.Integer-">MongoDbConnection(MongoClient, MongoDatabase, String, boolean, Integer)</a></span> - Constructor for class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbConnection.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbConnection</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3"><span class="typeNameLink">MongoDbDocumentObject</span></a> - Class in <a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</a></dt>
<dd>
<div class="block">The MongoDB implementation of <code>NoSqlObject</code> typed to a BSON <code>Document</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#MongoDbDocumentObject--">MongoDbDocumentObject()</a></span> - Constructor for class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.html" title="class in org.apache.logging.log4j.mongodb3"><span class="typeNameLink">MongoDbProvider</span></a> - Class in <a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</a></dt>
<dd>
<div class="block">The MongoDB implementation of <code>NoSqlProvider</code>.</div>
</dd>
<dt><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3"><span class="typeNameLink">MongoDbProvider.Builder</span></a>&lt;<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="type parameter in MongoDbProvider.Builder">B</a> extends <a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a>&lt;<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="type parameter in MongoDbProvider.Builder">B</a>&gt;&gt; - Class in <a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</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/mongodb3/MongoDbProvider.html#newBuilder--">newBuilder()</a></span> - Static method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/logging/log4j/mongodb3/package-summary.html">org.apache.logging.log4j.mongodb3</a> - package org.apache.logging.log4j.mongodb3</dt>
<dd>
<div class="block">The classes in this package contain the MongoDB provider for the NoSQL Appender.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#set-java.lang.String-org.apache.logging.log4j.core.appender.nosql.NoSqlObject-">set(String, NoSqlObject&lt;Document&gt;)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#set-java.lang.String-org.apache.logging.log4j.core.appender.nosql.NoSqlObject:A-">set(String, NoSqlObject&lt;Document&gt;[])</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#set-java.lang.String-java.lang.Object-">set(String, Object)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#set-java.lang.String-java.lang.Object:A-">set(String, Object[])</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setCapped-boolean-">setCapped(boolean)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setCollectionName-java.lang.String-">setCollectionName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setCollectionSize-int-">setCollectionSize(int)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setDatabaseName-java.lang.String-">setDatabaseName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setFactoryClassName-java.lang.String-">setFactoryClassName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setFactoryMethodName-java.lang.String-">setFactoryMethodName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setPort-java.lang.String-">setPort(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setServer-java.lang.String-">setServer(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setUserName-java.lang.String-">setUserName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setWriteConcernConstant-java.lang.String-">setWriteConcernConstant(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html#setWriteConcernConstantClassName-java.lang.String-">setWriteConcernConstantClassName(String)</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.Builder.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider.Builder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.html#toString--">toString()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbProvider.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbProvider</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html#unwrap--">unwrap()</a></span> - Method in class org.apache.logging.log4j.mongodb3.<a href="org/apache/logging/log4j/mongodb3/MongoDbDocumentObject.html" title="class in org.apache.logging.log4j.mongodb3">MongoDbDocumentObject</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</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:M">M</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:U">U</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="org/apache/logging/log4j/mongodb3/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/logging/log4j/mongodb3/package-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>
