blob: b8e69e1050d7355ba32e8bb34f1cd50e2de3f7ac [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>DatePrinter (Apache Log4j Core 2.23.1 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.logging.log4j.core.util.datetime, interface: DatePrinter">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/DatePrinter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.util.datetime</a></div>
<h1 title="Interface DatePrinter" class="title">Interface DatePrinter</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="FastDateFormat.html" title="class in org.apache.logging.log4j.core.util.datetime">FastDateFormat</a></code>, <code><a href="FastDatePrinter.html" title="class in org.apache.logging.log4j.core.util.datetime">FastDatePrinter</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">DatePrinter</span></div>
<div class="block">DatePrinter is the "missing" interface for the format methods of
<a href="https://docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html" title="class or interface in java.text" class="external-link"><code>DateFormat</code></a>. You can obtain an object implementing this
interface by using one of the FastDateFormat factory methods.
<p>
Warning: Since binary compatible methods may be added to this interface in any
release, developers are not expected to implement this interface.
</p>
<p>
Copied and modified from <a href="https://commons.apache.org/proper/commons-lang/">Apache Commons Lang</a>.
</p></div>
<dl class="notes">
<dt>Since:</dt>
<dd>Apache Commons Lang 3.2</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(long)" class="member-name-link">format</a><wbr>(long&nbsp;millis)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a millisecond <code>long</code> value.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;<br>B</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(long,B)" class="member-name-link">format</a><wbr>(long&nbsp;millis,
B&nbsp;buf)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a millisecond <code>long</code> value into the
supplied <code>Appendable</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(java.lang.Object,java.lang.StringBuilder,java.text.FieldPosition)" class="member-name-link">format</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a>&nbsp;toAppendTo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/text/FieldPosition.html" title="class or interface in java.text" class="external-link">FieldPosition</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a <code>Date</code>, <code>Calendar</code> or
<code>Long</code> (milliseconds) object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(java.util.Calendar)" class="member-name-link">format</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html" title="class or interface in java.util" class="external-link">Calendar</a>&nbsp;calendar)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a <code>Calendar</code> object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;<br>B</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(java.util.Calendar,B)" class="member-name-link">format</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html" title="class or interface in java.util" class="external-link">Calendar</a>&nbsp;calendar,
B&nbsp;buf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a <code>Calendar</code> object into the supplied <code>Appendable</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(java.util.Date)" class="member-name-link">format</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a>&nbsp;date)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a <code>Date</code> object using a <code>GregorianCalendar</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;<br>B</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#format(java.util.Date,B)" class="member-name-link">format</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a>&nbsp;date,
B&nbsp;buf)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Formats a <code>Date</code> object into the
supplied <code>Appendable</code> using a <code>GregorianCalendar</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLocale()" class="member-name-link">getLocale</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the locale used by this printer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getPattern()" class="member-name-link">getPattern</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the pattern used by this printer.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html" title="class or interface in java.util" class="external-link">TimeZone</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTimeZone()" class="member-name-link">getTimeZone</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the time zone used by this printer.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="format(long)">
<h3>format</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(long&nbsp;millis)</span></div>
<div class="block"><p>Formats a millisecond <code>long</code> value.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>millis</code> - the millisecond value to format</dd>
<dt>Returns:</dt>
<dd>the formatted string</dd>
<dt>Since:</dt>
<dd>2.1</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(java.util.Date)">
<h3>format</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a>&nbsp;date)</span></div>
<div class="block"><p>Formats a <code>Date</code> object using a <code>GregorianCalendar</code>.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>date</code> - the date to format</dd>
<dt>Returns:</dt>
<dd>the formatted string</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(java.util.Calendar)">
<h3>format</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html" title="class or interface in java.util" class="external-link">Calendar</a>&nbsp;calendar)</span></div>
<div class="block"><p>Formats a <code>Calendar</code> object.</p>
The TimeZone set on the Calendar is only used to adjust the time offset.
The TimeZone specified during the construction of the Parser will determine the TimeZone
used in the formatted string.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>calendar</code> - the calendar to format.</dd>
<dt>Returns:</dt>
<dd>the formatted string</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(long,B)">
<h3 id="format(long,java.lang.Appendable)">format</h3>
<div class="member-signature"><span class="type-parameters">&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;</span>&nbsp;<span class="return-type">B</span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(long&nbsp;millis,
B&nbsp;buf)</span></div>
<div class="block"><p>Formats a millisecond <code>long</code> value into the
supplied <code>Appendable</code>.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>B</code> - the Appendable class type, usually StringBuilder or StringBuffer.</dd>
<dt>Parameters:</dt>
<dd><code>millis</code> - the millisecond value to format</dd>
<dd><code>buf</code> - the buffer to format into</dd>
<dt>Returns:</dt>
<dd>the specified string buffer</dd>
<dt>Since:</dt>
<dd>3.5</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(java.util.Date,B)">
<h3 id="format(java.util.Date,java.lang.Appendable)">format</h3>
<div class="member-signature"><span class="type-parameters">&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;</span>&nbsp;<span class="return-type">B</span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Date.html" title="class or interface in java.util" class="external-link">Date</a>&nbsp;date,
B&nbsp;buf)</span></div>
<div class="block"><p>Formats a <code>Date</code> object into the
supplied <code>Appendable</code> using a <code>GregorianCalendar</code>.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>B</code> - the Appendable class type, usually StringBuilder or StringBuffer.</dd>
<dt>Parameters:</dt>
<dd><code>date</code> - the date to format</dd>
<dd><code>buf</code> - the buffer to format into</dd>
<dt>Returns:</dt>
<dd>the specified string buffer</dd>
<dt>Since:</dt>
<dd>3.5</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(java.util.Calendar,B)">
<h3 id="format(java.util.Calendar,java.lang.Appendable)">format</h3>
<div class="member-signature"><span class="type-parameters">&lt;B extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html" title="class or interface in java.lang" class="external-link">Appendable</a>&gt;</span>&nbsp;<span class="return-type">B</span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html" title="class or interface in java.util" class="external-link">Calendar</a>&nbsp;calendar,
B&nbsp;buf)</span></div>
<div class="block"><p>Formats a <code>Calendar</code> object into the supplied <code>Appendable</code>.</p>
The TimeZone set on the Calendar is only used to adjust the time offset.
The TimeZone specified during the construction of the Parser will determine the TimeZone
used in the formatted string.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>B</code> - the Appendable class type, usually StringBuilder or StringBuffer.</dd>
<dt>Parameters:</dt>
<dd><code>calendar</code> - the calendar to format</dd>
<dd><code>buf</code> - the buffer to format into</dd>
<dt>Returns:</dt>
<dd>the specified string buffer</dd>
<dt>Since:</dt>
<dd>3.5</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPattern()">
<h3>getPattern</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getPattern</span>()</div>
<div class="block"><p>Gets the pattern used by this printer.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the pattern, <a href="https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html" title="class or interface in java.text" class="external-link"><code>SimpleDateFormat</code></a> compatible</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTimeZone()">
<h3>getTimeZone</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html" title="class or interface in java.util" class="external-link">TimeZone</a></span>&nbsp;<span class="element-name">getTimeZone</span>()</div>
<div class="block"><p>Gets the time zone used by this printer.</p>
<p>This zone is always used for <code>Date</code> printing. </p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the time zone</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLocale()">
<h3>getLocale</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html" title="class or interface in java.util" class="external-link">Locale</a></span>&nbsp;<span class="element-name">getLocale</span>()</div>
<div class="block"><p>Gets the locale used by this printer.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the locale</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="format(java.lang.Object,java.lang.StringBuilder,java.text.FieldPosition)">
<h3>format</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></span>&nbsp;<span class="element-name">format</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a>&nbsp;toAppendTo,
<a href="https://docs.oracle.com/javase/8/docs/api/java/text/FieldPosition.html" title="class or interface in java.text" class="external-link">FieldPosition</a>&nbsp;pos)</span></div>
<div class="block"><p>Formats a <code>Date</code>, <code>Calendar</code> or
<code>Long</code> (milliseconds) object.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>obj</code> - the object to format</dd>
<dd><code>toAppendTo</code> - the buffer to append to</dd>
<dd><code>pos</code> - the position - ignored</dd>
<dt>Returns:</dt>
<dd>the buffer passed in</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html#format-java.lang.Object-java.lang.StringBuffer-java.text.FieldPosition-" title="class or interface in java.text" class="external-link"><code>DateFormat.format(Object, StringBuffer, FieldPosition)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><p align="center"> Copyright &copy; 1999-2024 <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>
</footer>
</div>
</div>
</body>
</html>