You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gi...@apache.org on 2024/05/28 20:50:01 UTC

(logging-log4j2) branch main-site-stg-out updated: Add website content generated from `1d43edce19e4ff0075272c2f84f070452251c41b`

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch main-site-stg-out
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/main-site-stg-out by this push:
     new 2f2f7856ea Add website content generated from `1d43edce19e4ff0075272c2f84f070452251c41b`
2f2f7856ea is described below

commit 2f2f7856ea7be443b22a6eeb8ff118c8ca6b3568
Author: ASF Logging Services RM <pr...@logging.apache.org>
AuthorDate: Tue May 28 20:49:56 2024 +0000

    Add website content generated from `1d43edce19e4ff0075272c2f84f070452251c41b`
---
 faq.html                              |   3 +-
 getting-started.html                  |   4 +-
 log4j-1.2-api.html                    |  51 +++++++++++++++-
 log4j-docker.html                     |   4 +-
 log4j-flume-ng.html                   |   4 +-
 log4j-iostreams.html                  |  11 +++-
 log4j-jul.html                        |   3 +-
 log4j-slf4j-impl.html                 |   3 +-
 log4j-slf4j2-impl.html                |   3 +-
 log4j-spring-cloud-config-client.html |  11 ++--
 log4j-to-jul.html                     |   3 +-
 log4j-to-slf4j.html                   |   3 +-
 manual/appenders.html                 |  26 ++++----
 manual/configuration.html             |  28 ++-------
 manual/garbagefree.html               |  25 ++++----
 manual/installation.html              |   3 +-
 manual/json-template-layout.html      |   2 +-
 manual/layouts.html                   | 109 ++++++++++++++++++++++++++++++++--
 manual/logsep.html                    |   3 -
 manual/lookups.html                   |   7 ++-
 manual/performance.html               |   8 ++-
 manual/systemproperties.html          |   4 +-
 sitemap.xml                           |  92 ++++++++++++++--------------
 23 files changed, 279 insertions(+), 131 deletions(-)

diff --git a/faq.html b/faq.html
index 0edd079383..843d377cc9 100644
--- a/faq.html
+++ b/faq.html
@@ -538,7 +538,8 @@ If an object is logged that implements this interface, its <code>formatTo(String
 <p>The solution is to provide the correct FQCN.
 The easiest way to do this is to let Log4j generate the logger wrapper for you.
 Log4j comes with a Logger wrapper generator tool.
-This tool was originally meant to support custom log levels and is documented <a href="https://logging.apache.org/log4j/2.x/manual/customloglevels.adoc#CustomLoggers">here</a>.
+This tool was originally meant to support custom log levels and was moved to the
+<a href="/log4j/transform/latest/index.html">Log4j Transform subproject</a>.
 The generated logger code will take care of the FQCN.</p>
 </div>
 </div>
diff --git a/getting-started.html b/getting-started.html
index 42ce202d24..401ada5d98 100644
--- a/getting-started.html
+++ b/getting-started.html
@@ -1012,7 +1012,7 @@ See <a href="#config-test">How do I configure Log4j for tests?</a></p>
 While it is not recommended to use the <code>PatternLayout</code> in production for security reasons, it is a good choice for tests.</p>
 </div>
 <div class="paragraph">
-<p>The <a href="manual/layouts.html#PatternLayout" class="xref page">Pattern Layout</a> is used for formatting strings in a specific way.
+<p>The <a href="manual/layouts.html#pattern-layout" class="xref page">Pattern Layout</a> is used for formatting strings in a specific way.
 In the below case, it will include the timestamp, thread name, log level, class name, and the message and
 print it to the Console.
 Very similar to the earlier configuration, the <code>&lt;logger&gt;</code> defines what should be logged on
@@ -1051,7 +1051,7 @@ which level and the <code>&lt;root&gt;</code> logger serves as a default configu
 <table>
 <tr>
 <td><i class="conum" data-value="1"></i><b>1</b></td>
-<td><a href="manual/layouts.html#PatternLayout" class="xref page">Pattern Layout</a> is used for a human-readable layout.</td>
+<td><a href="manual/layouts.html#pattern-layout" class="xref page">Pattern Layout</a> is used for a human-readable layout.</td>
 </tr>
 <tr>
 <td><i class="conum" data-value="2"></i><b>2</b></td>
diff --git a/log4j-1.2-api.html b/log4j-1.2-api.html
index c4e1f28a6a..08b5fe31da 100644
--- a/log4j-1.2-api.html
+++ b/log4j-1.2-api.html
@@ -331,8 +331,57 @@ The following Log4j 1.x methods will behave differently when the Log4j 2 Core mo
 <p>If log4j-core is not present location information will not be accurate in calls using the Log4j 1.2 API.
 The config package which attempts to convert Log4j 1.x configurations to Log4j 2 is not supported without Log4j 2.</p>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
 <div class="paragraph">
-<p>For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>In order to use the Log4j 1.2 Bridge, additional dependencies are required:</p>
+</div>
+<details id="log4j-1.2-api-deps">
+<summary class="title">Runtime dependencies</summary>
+<div class="content">
+<div id="_tabs_1" class="openblock tabs is-loading">
+<div class="content">
+<div class="ulist tablist">
+<ul>
+<li id="_tabs_1_maven" class="tab">
+<p>Maven</p>
+</li>
+<li id="_tabs_1_gradle" class="tab">
+<p>Gradle</p>
+</li>
+</ul>
+</div>
+<div id="_tabs_1_maven--panel" class="tabpanel" aria-labelledby="_tabs_1_maven">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.logging.log4j&lt;/groupId&gt;
+  &lt;artifactId&gt;log4j-1.2-api&lt;/artifactId&gt;
+  &lt;version&gt;3.0.0-beta2&lt;/version&gt;
+  &lt;scope&gt;runtime&lt;/scope&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div id="_tabs_1_gradle--panel" class="tabpanel" aria-labelledby="_tabs_1_gradle">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-groovy hljs" data-lang="groovy">runtimeOnly 'org.apache.logging.log4j:log4j-1.2-api:3.0.0-beta2'</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</details>
+</td>
+</tr>
+</table>
 </div>
 </div>
 </div>
diff --git a/log4j-docker.html b/log4j-docker.html
index c03c692f5e..e5da73bb13 100644
--- a/log4j-docker.html
+++ b/log4j-docker.html
@@ -316,10 +316,10 @@ Note that docker variables are only resolved once during logging initialization
 </div>
 </div>
 <div class="sect1">
-<h2 id="_requirements_log4j_docker_requires_log4j_core_log4j_api_and_a_minimum_of_java_8"><a class="anchor" href="#_requirements_log4j_docker_requires_log4j_core_log4j_api_and_a_minimum_of_java_8"></a>Requirements Log4j Docker requires Log4j Core, Log4j API and a minimum of Java 8.</h2>
+<h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>Log4j Docker requires Log4j Core, Log4j API and a minimum of Java 8.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-flume-ng.html b/log4j-flume-ng.html
index 8d88c25fed..1c17490c07 100644
--- a/log4j-flume-ng.html
+++ b/log4j-flume-ng.html
@@ -482,10 +482,10 @@ The following dependency should be added to your pom.xml in addition to the log4
 </div>
 </div>
 <div class="sect1">
-<h2 id="_requirements_the_flume_appender_requires_the_log4j_2_api"><a class="anchor" href="#_requirements_the_flume_appender_requires_the_log4j_2_api"></a>Requirements The Flume Appender requires the Log4J 2 API.</h2>
+<h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Flume Appender requires the Log4J 2 API and implementation.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-iostreams.html b/log4j-iostreams.html
index 742c730f63..669da121eb 100644
--- a/log4j-iostreams.html
+++ b/log4j-iostreams.html
@@ -267,7 +267,13 @@
 <h2 id="_log4j_iostreams"><a class="anchor" href="#_log4j_iostreams"></a>Log4j IOStreams</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The IOStreams component is a <a href="javadoc/log4j-api/index.html">Log4j API</a> extension that provides numerous classes from <a href="http://docs.oracle.com/javase/6/docs/api/java/io/package-summary.html"><code>java.io</code></a> that can either write to a <a href="javadoc/log4j-api/org/apache/logging/log4j/Logger.html"><code>Logger</code></a> while writing to another <code>OutputStream</code> or <code>Writer</code>, or the contents read by an <code>InputStream</code> or <code>Read [...]
+<p>The IOStreams component is a
+<a href="manual/api.html" class="xref page">Log4j API</a>
+extension that provides numerous classes from
+<a href="http://docs.oracle.com/javase/17/docs/api/java/io/package-summary.html"><code>java.io</code></a>
+that can either write to a
+<a href="javadoc/log4j-api/org/apache/logging/log4j/Logger.html"><code>Logger</code></a>
+while writing to another <code>OutputStream</code> or <code>Writer</code>, or the contents read by an <code>InputStream</code> or <code>Reader</code> can be <a href="http://www.eaipatterns.com/WireTap.html">wiretapped</a> by a <code>Logger</code>.</p>
 </div>
 </div>
 </div>
@@ -276,8 +282,7 @@
 <div class="sectionbody">
 <div class="paragraph">
 <p>The Log4j IOStreams API extension requires the Log4j 2 API.
-This component was introduced in Log4j 2.1.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+This component was introduced in Log4j 2.1.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-jul.html b/log4j-jul.html
index 3efd35f79a..e00fedcd33 100644
--- a/log4j-jul.html
+++ b/log4j-jul.html
@@ -276,8 +276,7 @@ However, this does allow any other Log4j Provider besides the Core provider to b
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The JDK Logging Adapter is dependent on the Log4j API and optionally Log4j Core.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The JDK Logging Adapter is dependent on the Log4j API and optionally Log4j Core.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-slf4j-impl.html b/log4j-slf4j-impl.html
index 466005a38c..49949a2eba 100644
--- a/log4j-slf4j-impl.html
+++ b/log4j-slf4j-impl.html
@@ -292,8 +292,7 @@
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Log4j 2 SLF4J Binding has a dependency on the Log4j 2 API as well as the SLF4J API.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Log4j 2 SLF4J Binding has a dependency on the Log4j 2 API as well as the SLF4J API.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-slf4j2-impl.html b/log4j-slf4j2-impl.html
index 2b9935a1a4..04f1e2b190 100644
--- a/log4j-slf4j2-impl.html
+++ b/log4j-slf4j2-impl.html
@@ -292,8 +292,7 @@
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Log4j 2 SLF4J Binding has a dependency on the Log4j 2 API as well as the SLF4J API.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Log4j 2 SLF4J Binding has a dependency on the Log4j 2 API as well as the SLF4J API.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-spring-cloud-config-client.html b/log4j-spring-cloud-config-client.html
index 8b84f852c0..fe1d887ffe 100644
--- a/log4j-spring-cloud-config-client.html
+++ b/log4j-spring-cloud-config-client.html
@@ -282,7 +282,7 @@
 <p>SpringApplication declares a Logger.
 This Logger will be initialized using Log4j&#8217;s "normal" mechanisms.
 Thus, the
-<a href="manual/systemproperties.html#log4j2.configurationFile" class="xref page"><code>log4j2.configurationFile</code></a>
+<a href="manual/systemproperties.html#log4j.configuration.location" class="xref page"><code>log4j.configuration.location</code></a>
 system property will be checked to see if a specific configuration file has been provided, otherwise it will search for a configuration file on the classpath.
 The property may also be declare  in log4j2.component.properties.</p>
 </li>
@@ -414,11 +414,13 @@ However, Log4j does use Spring&#8217;s  standard APIs to access properties in th
 </div>
 <div class="paragraph">
 <p>If more extensive authentication is required an <code>AuthorizationProvider</code> can be implemented and its fully qualified class name should be specified in the
-<a href="manual/systemproperties.html#log4j2.configurationAuthorizationProvider" class="xref page">log4j2.configurationAuthorizationProvider</a>
+<a href="manual/systemproperties.html#log4j.auth.provider" class="xref page"><code>log4j.auth.provider</code></a>
 system property, in log4j2.component.properties or in Spring&#8217;s <code>bootstrap.yml</code> using either the <code>log4j2.authorizationProvider</code> or <code>logging.auth.authorizationProvider</code> key.</p>
 </div>
 <div class="paragraph">
-<p>For the properties required by TLS configuration see <a href="manual/configuration.html#transport-security" class="xref page">the Transport Security configuration</a>.</p>
+<p>For the properties required by TLS configuration see
+<a href="#manual/systemproperties
+.adoc#properties-transport-security" class="xref unresolved">the Transport Security configuration</a>.</p>
 </div>
 </div>
 </div>
@@ -426,8 +428,7 @@ system property, in log4j2.component.properties or in Spring&#8217;s <code>boots
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Log4j 2 Spring Cloud Configuration integration has a dependency on Log4j 2 API, Log4j 2 Core, and  Spring Cloud Configuration versions 2.0.3.RELEASE or 2.1.1.RELEASE or later versions it either release series.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Log4j 2 Spring Cloud Configuration integration has a dependency on Log4j 2 API, Log4j 2 Core, and  Spring Cloud Configuration versions 2.0.3.RELEASE or 2.1.1.RELEASE or later versions it either release series.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-to-jul.html b/log4j-to-jul.html
index 11476c23b2..67e9e57433 100644
--- a/log4j-to-jul.html
+++ b/log4j-to-jul.html
@@ -277,8 +277,7 @@ With Log4j 2 as the implementation these would normally be formatted only when t
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Log4j 2 to JUL adapter is dependent on the Log4j 2 API.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Log4j 2 to JUL adapter is dependent on the Log4j 2 API.</p>
 </div>
 </div>
 </div>
diff --git a/log4j-to-slf4j.html b/log4j-to-slf4j.html
index 77f33fa61f..93784ab72b 100644
--- a/log4j-to-slf4j.html
+++ b/log4j-to-slf4j.html
@@ -275,8 +275,7 @@ With Log4j 2 as the implementation these would normally be formatted only when t
 <h2 id="_requirements"><a class="anchor" href="#_requirements"></a>Requirements</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The Log4j 2 to SLF4J adapter is dependent on the Log4j 2 API and the SLF4J API.
-For more information, see <a href="#runtime-dependencies.adoc" class="xref unresolved">Runtime Dependencies</a>.</p>
+<p>The Log4j 2 to SLF4J adapter is dependent on the Log4j 2 API and the SLF4J API.</p>
 </div>
 </div>
 </div>
diff --git a/manual/appenders.html b/manual/appenders.html
index ba3c13bd43..b24b0fe752 100644
--- a/manual/appenders.html
+++ b/manual/appenders.html
@@ -330,7 +330,9 @@ For non-JDK classes, these should usually be in
 a call to the <code>OutputStream.flush()</code> method is performed.</p>
 </li>
 <li>
-<p>if <a href="systemproperties.html#log4j2.enableDirectEncoders" class="xref page">log4j2.enableDirectEncoders</a> is set to <code>true</code>, many Log4j appenders use a
+<p>if
+<a href="systemproperties.html#log4j.gc.enableDirectEncoders" class="xref page">log4j.gc.enableDirectEncoders</a>
+is set to <code>true</code>, many Log4j appenders use a
 <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html">ByteBuffer</a>
 to format log events before sending them to the underlying resource.
 Setting <code>immediateFlush</code> to <code>true</code> flushes these buffers at each event.</p>
@@ -368,7 +370,7 @@ The AsyncAppender should be configured after the appenders it references to allo
 <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html"><code>java.util.concurrent.ArrayBlockingQueue</code></a>
 which does not require any external libraries.
 Note that multi-threaded applications should exercise care when using this appender as such: the blocking queue is susceptible to lock contention and our
-<a href="performance.html#asyncLogging" class="xref page">tests showed</a> performance may become worse when more threads are logging concurrently.
+<a href="performance.html#async" class="xref page">tests showed</a> performance may become worse when more threads are logging concurrently.
 Consider using
 <a href="async.html" class="xref page">lock-free Async Loggers</a> for optimal performance.</p>
 </div>
@@ -1347,10 +1349,8 @@ indicate which variation of the Appender is desired.</p></td>
 <code>log4j-core</code> to the new module <code>log4j-jdbc</code>.</p>
 </div>
 <div class="paragraph">
-<p>The JDBC Appender configured with a <code>DataSource</code> requires JNDI support so as of release 2.17.1
-this appender will not function unless <code>log4j.jndi.enableJdbc=true</code> is configured as a system property
-or environment variable. See the <a href="systemproperties.html#log4j.jndi.enableJdbc" class="xref page">log4j.jndi.enableJdbc</a> system
-property.</p>
+<p>The JDBC Appender configured with a <code>DataSource</code> requires JNDI support so as of release 2.17.1 this appender will not function unless <code>log4j2.enableJndiJdbc=true</code> is configured as a system property or environment variable.
+See the <a href="systemproperties.html#log4j.jndi.enableJdbc" class="xref page">log4j.jndi.enableJdbc</a> system property.</p>
 </div>
 <div class="paragraph">
 <p>The JDBCAppender writes log events to a relational database table using standard JDBC.
@@ -1971,7 +1971,8 @@ public class ConnectionFactory {
 </div>
 </div>
 <div class="paragraph">
-<p>This appender is <a href="#manual/messages.adoc#MapMessage" class="xref unresolved"><code>MapMessage</code></a>-aware.</p>
+<p>This appender is
+<a href="../../2.x/manual/messages.html#MapMessage"><code>MapMessage</code></a>-aware.</p>
 </div>
 <div class="paragraph">
 <p>The following configuration uses no layout to indicate that the appender should match the keys of a <code>MapMessage</code> to the names of
@@ -3051,7 +3052,8 @@ collection documentation linked above for more information.</p></td>
 </tbody>
 </table>
 <div class="paragraph">
-<p>This appender is <a href="#manual/messages.adoc#MapMessage" class="xref unresolved">MapMessage</a>-aware.</p>
+<p>This appender is
+<a href="../../manual/messages.html#MapMessage"><code>MapMessage</code></a>-aware.</p>
 </div>
 <div class="paragraph">
 <p>Here are a few sample configurations for the NoSQLAppender and MongoDB4 provider:</p>
@@ -3140,7 +3142,7 @@ The OutputStreamAppender uses an OutputStreamManager to handle the actual I/O, a
 <a href="#FileAppender">FileAppender</a> except it is always buffered (this cannot be switched off) and internally it uses a
 <code>ByteBuffer + RandomAccessFile</code> instead of a <code>BufferedOutputStream</code>.
 We saw a 20-200% performance improvement compared to FileAppender with "bufferedIO=true" in our
-<a href="performance.html#whichAppender" class="xref page">measurements</a>.
+measurements.
 Similar to the FileAppender, RandomAccessFileAppender uses a RandomAccessFileManager to perform the file I/O. While RandomAccessFileAppender from different Configurations cannot be shared, the RandomAccessFileManagers can be if the Manager is accessible.
 For example, two web applications in a servlet container can have their configuration and safely write to the same file if Log4j is in a ClassLoader that is common to both of them.</p>
 </div>
@@ -4320,7 +4322,8 @@ false.</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">testMode</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">If true, files are not deleted but instead a message
-is printed to the <a href="configuration.html#StatusMessages" class="xref page">status logger</a>
+is printed to the
+<a href="https://logging.apache.org/log4j/2.x/manual/status-logger.html">status logger</a>
 at INFO level. Use this to do a dry run to test if the configuration
 works as expected. The default is false.</p></td>
 </tr>
@@ -4955,8 +4958,7 @@ file attribute view.</p>
 <p>The RollingRandomAccessFileAppender is similar to the standard
 <a href="#RollingFileAppender">RollingFileAppender</a> except it is always buffered (this cannot be switched off) and internally it uses a
 <code>ByteBuffer + RandomAccessFile</code> instead of a <code>BufferedOutputStream</code>.
-We saw a 20-200% performance improvement compared to RollingFileAppender with "bufferedIO=true" in our
-<a href="performance.html#whichAppender" class="xref page">measurements</a>.
+We saw a 20-200% performance improvement compared to RollingFileAppender with "bufferedIO=true" in our measurements.
 The
 <code>RollingRandomAccessFileAppender</code> writes to the file named in the fileName parameter and rolls the file over according to the TriggeringPolicy and the RolloverPolicy.
 Similar to the RollingFileAppender, RollingRandomAccessFileAppender uses a RollingRandomAccessFileManager to perform the file I/O and perform the rollover.
diff --git a/manual/configuration.html b/manual/configuration.html
index bb00875051..ac8a0d34ee 100644
--- a/manual/configuration.html
+++ b/manual/configuration.html
@@ -442,24 +442,6 @@ Log4j includes XML, JSON, YAML, and Java properties formats factories.</p>
 </div>
 </div>
 </div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>The format of the configuration file changed between Log4j&#160;1 and Log4j&#160;2.
-Files in the Log4j&#160;1 format are ignored by default.</p>
-</div>
-<div class="paragraph">
-<p>To enable partial support for old configuration formats, see <a href="migration.html#enabling-the-log4j-1-x-bridge" class="xref page">Enabling the Log4j&#160;1 bridge</a>.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
 <div class="sect2">
 <h3 id="automatic-configuration"><a class="anchor" href="#automatic-configuration"></a><a id="AutomaticConfiguration"></a> Configuration file location</h3>
 <div class="paragraph">
@@ -1168,7 +1150,8 @@ The logger is configured to forward messages to its parent (the root appender).<
 <p>Log4j allows the configuration of custom log-level names.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="#manual/customloglevels.adoc" class="xref unresolved">Custom log level configuration</a> for details.</p>
+<p>See
+<a href="https://logging.apache.org/log4j/2.x/manual/customloglevels.html#DefiningLevelsInConfiguration">Defining custom log levels in configuration</a> for details.</p>
 </div>
 </dd>
 <dt class="hdlist1">Filters</dt>
@@ -1480,7 +1463,7 @@ Loggers.Logger[3].AppenderRef.ref = APPENDER4</code></pre>
 <div class="paragraph">
 <p>In the example above, we have four logger configurations.
 They differ from each other regarding the level of log messages that they allow, whether
-<a href="layouts.html#location-information" class="xref page">location information</a>
+<a href="layouts.html#LocationInformation" class="xref page">location information</a>
 will be printed, and which appenders will be used.
 The table below summarizes the effects of each logger configuration:</p>
 </div>
@@ -1682,7 +1665,7 @@ If set to <code>false</code>, Log4j will not attempt to infer the location of th
 methods.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="layouts.html#location-information" class="xref page">Location information</a> for more details.</p>
+<p>See <a href="layouts.html#LocationInformation" class="xref page">Location information</a> for more details.</p>
 </div>
 </div>
 <div class="sect3">
@@ -1697,7 +1680,8 @@ methods.</p>
 <div class="sect3">
 <h4 id="logger-elements-properties"><a class="anchor" href="#logger-elements-properties"></a>Additional context properties</h4>
 <div class="paragraph">
-<p>Loggers can emit additional context data that will be integrated with other context data sources such as <a href="#manual/thread-context.adoc" class="xref unresolved">ThreadContext</a>.</p>
+<p>Loggers can emit additional context data that will be integrated with other context data sources such as
+<a href="https://logging.apache.org/log4j/2.x/manual/thread-context.html">ThreadContext</a>.</p>
 </div>
 <div class="admonitionblock caution">
 <table>
diff --git a/manual/garbagefree.html b/manual/garbagefree.html
index 71eae91e1c..f53fef2f13 100644
--- a/manual/garbagefree.html
+++ b/manual/garbagefree.html
@@ -335,10 +335,10 @@ If you use another setup (e.g., a different logging API or implementation) this
 <div class="ulist">
 <ul>
 <li>
-<p><a href="#log4j2.enableThreadlocals"><code>log4j2.enableThreadlocals</code></a></p>
+<p><a href="#log4j.enableThreadlocals"><code>log4j.enableThreadlocals</code></a></p>
 </li>
 <li>
-<p><a href="#log4j2.garbagefreeThreadContextMap"><code>log4j2.garbagefreeThreadContextMap</code></a></p>
+<p><a href="#log4j.threadContext.map.garbageFree"><code>log4j.threadContext.map.garbageFree</code></a></p>
 </li>
 </ul>
 </div>
@@ -793,9 +793,6 @@ To understand which configuration knobs exhibit what kind of allocation behaviou
 <div class="ulist">
 <ul>
 <li>
-<p><a href="layouts.html#GELFLayout" class="xref page"><code>GelfLayout</code></a></p>
-</li>
-<li>
 <p><a href="json-template-layout.html#faq-garbage-free" class="xref page"><code>JsonTemplateLayout</code></a></p>
 </li>
 <li>
@@ -878,7 +875,8 @@ To understand which configuration knobs exhibit what kind of allocation behaviou
 <div class="paragraph">
 <p>An effort has been made to minimize impact on custom appenders that extend <code>AbstractOutputStreamAppender</code>, but it is impossible to guarantee that changing the superclass will not impact any and all subclasses.
 Custom appenders that extend <code>AbstractOutputStreamAppender</code> should verify that they still function correctly.
-In case there is a problem, <a href="#log4j2.enableDirectEncoders">the <code>log4j2.enableDirectEncoders</code> system property</a> can be set to <code>false</code> to revert to the pre-Log4j 2.6 behaviour.</p>
+In case there is a problem, the
+<a href="#log4j.gc.enableDirectEncoders"><code>log4j.gc.enableDirectEncoders</code></a> configuration property can be set to <code>false</code> to revert to the pre-Log4j 2.6 behaviour.</p>
 </div>
 </td>
 </tr>
@@ -1077,7 +1075,8 @@ If pool runs out of capacity (see <a href="#log4j.recycler.capacity"><code>log4j
 <dl>
 <dt class="hdlist1"><code>&lt;Properties&gt;</code> section</dt>
 <dd>
-<p>A configuration containing <a href="configuration.html#PropertySubstitution" class="xref page">a <code>&lt;Properties&gt;</code> section</a> will result in temporary objects being created during steady-state logging.</p>
+<p>A configuration containing <a href="configuration.html#property-substitution" class="xref page">a <code>&lt;Properties&gt;</code> section</a> will result in temporary
+objects being created during steady-state logging.</p>
 </dd>
 </dl>
 </div>
@@ -1086,7 +1085,9 @@ If pool runs out of capacity (see <a href="#log4j.recycler.capacity"><code>log4j
 <dt class="hdlist1">Asynchronous logger wait strategies</dt>
 <dd>
 <p>As of version <code>2.18.0</code>, the default <a href="async.html" class="xref page">asynchronous logger</a> wait strategy (i.e., <code>Timeout</code>) is garbage-free while running against both LMAX Disruptor 3 and 4.
-See <a href="async.html#log4j2.asyncLoggerWaitStrategy" class="xref page"><code>log4j2.asyncLoggerWaitStrategy</code></a> for details on predefined wait strategies.</p>
+See
+<a href="async.html#log4j.async.logger.waitStrategy.type" class="xref page"><code>log4j.async.logger.waitStrategy.type</code></a>
+for details on predefined wait strategies.</p>
 </dd>
 </dl>
 </div>
@@ -1151,7 +1152,9 @@ The <code>Unbox.box(primitive)</code> methods write directly into a <code>String
 <div class="ulist">
 <ul>
 <li>
-<p>The <code>ThreadContext</code> map (aka. MDC) is not garbage-free by default, but can be configured to be garbage-free by setting <a href="#log4j2.garbagefreeThreadContextMap">the <code>log4j2.garbagefreeThreadContextMap</code> system property</a> to <code>true</code>.</p>
+<p>The <code>ThreadContext</code> map (aka. MDC) is not garbage-free by default, but can be configured to be garbage-free by setting the
+<a href="#log4j.threadContext.map.garbageFree"><code>log4j.threadContext.map.garbageFree</code></a>
+configuration property to <code>true</code>.</p>
 </li>
 <li>
 <p>The <code>ThreadContext</code> stack (aka. NDC) is not garbage-free.</p>
@@ -1160,7 +1163,9 @@ The <code>Unbox.box(primitive)</code> methods write directly into a <code>String
 <p><a href="https://logging.apache.org/log4j/2.x/manual/scoped-context.adoc" class="bare">https://logging.apache.org/log4j/2.x/manual/scoped-context.adoc</a> is not garbage-free.</p>
 </li>
 <li>
-<p>Logging very large messages (i.e., more than <a href="#log4j2.maxReusableMsgSize"><code>log4j2.maxReusableMsgSize</code></a> characters, which defaults to 518), when all loggers are <a href="async.html" class="xref page">asynchronous loggers</a>, will cause the internal <code>StringBuilder</code> in the
+<p>Logging very large messages (i.e., more than
+<a href="#log4j.gc.maxReusableMsgSize"><code>log4j.gc.maxReusableMsgSize</code></a>
+characters, which defaults to 518), when all loggers are <a href="async.html" class="xref page">asynchronous loggers</a>, will cause the internal <code>StringBuilder</code> in the
 <code>RingBuffer</code> to be trimmed back to their configured maximum size.</p>
 </li>
 <li>
diff --git a/manual/installation.html b/manual/installation.html
index e89f877e1b..7a45ad9be6 100644
--- a/manual/installation.html
+++ b/manual/installation.html
@@ -1089,7 +1089,8 @@ Loggers.Root.AppenderRef.ref = CONSOLE</code></pre>
 <table>
 <tr>
 <td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>While <a href="layouts.html#PatternLayout" class="xref page">Pattern Layout</a> is a good first choice and preferable for tests, we recommend using a structured format such as <a href="json-template-layout.html" class="xref page">JSON Template Layout</a> for production deployments.</td>
+<td>While <a href="layouts.html#pattern-layout" class="xref page">Pattern Layout</a> is a good first choice and preferable for tests, we recommend
+using a structured format such as <a href="json-template-layout.html" class="xref page">JSON Template Layout</a> for production deployments.</td>
 </tr>
 </table>
 </div>
diff --git a/manual/json-template-layout.html b/manual/json-template-layout.html
index 5e03d73333..267b18c79e 100644
--- a/manual/json-template-layout.html
+++ b/manual/json-template-layout.html
@@ -1580,7 +1580,7 @@ stackTraceEnabled = "stackTraceEnabled" -&gt; boolean</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>Resolver delegating to <a href="layouts.html#PatternLayout" class="xref page"><code>PatternLayout</code></a>.</p>
+<p>Resolver delegating to <a href="layouts.html#pattern-layout" class="xref page"><code>PatternLayout</code></a>.</p>
 </div>
 <div class="paragraph">
 <p>The default value of <code>stackTraceEnabled</code> is inherited from the parent
diff --git a/manual/layouts.html b/manual/layouts.html
index e7a540378b..bdbdaed3d4 100644
--- a/manual/layouts.html
+++ b/manual/layouts.html
@@ -539,9 +539,56 @@ specified value. One of: <code>ALL</code>, <code>MINIMAL</code>, <code>NON_NUMER
 <pre>0,1441617184044,DEBUG,main,"one=1, two=2, three=3",org.apache.logging.log4j.spi.AbstractLogger,,,,org.apache.logging.log4j.core.layout.CsvLogEventLayoutTest.testLayout(CsvLogEventLayoutTest.java:98),{},[]</pre>
 </div>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
 <div class="paragraph">
-<p>Additional <a href="#runtime-dependencies.adoc" class="xref unresolved">runtime dependencies</a> are
-required for using CSV layouts.</p>
+<p>Additional runtime dependencies are required for using CSV layouts:</p>
+</div>
+<details id="log4j-csv-deps">
+<summary class="title">Runtime dependencies</summary>
+<div class="content">
+<div id="_tabs_1" class="openblock tabs is-loading">
+<div class="content">
+<div class="ulist tablist">
+<ul>
+<li id="_tabs_1_maven" class="tab">
+<p>Maven</p>
+</li>
+<li id="_tabs_1_gradle" class="tab">
+<p>Gradle</p>
+</li>
+</ul>
+</div>
+<div id="_tabs_1_maven--panel" class="tabpanel" aria-labelledby="_tabs_1_maven">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.logging.log4j&lt;/groupId&gt;
+  &lt;artifactId&gt;log4j-csv&lt;/artifactId&gt;
+  &lt;scope&gt;runtime&lt;/scope&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div id="_tabs_1_gradle--panel" class="tabpanel" aria-labelledby="_tabs_1_gradle">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-groovy hljs" data-lang="groovy">runtimeOnly 'org.apache.logging.log4j:log4j-csv'</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</details>
+</td>
+</tr>
+</table>
 </div>
 </div>
 </div>
@@ -739,6 +786,58 @@ Logstash <code>JSONEventLayoutV1</code></a></p>
 }</code></pre>
 </div>
 </div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Additional runtime dependencies are required for using JSON Template Layout:</p>
+</div>
+<details id="log4j-layout-template-json-deps">
+<summary class="title">Runtime dependencies</summary>
+<div class="content">
+<div id="_tabs_2" class="openblock tabs is-loading">
+<div class="content">
+<div class="ulist tablist">
+<ul>
+<li id="_tabs_2_maven" class="tab">
+<p>Maven</p>
+</li>
+<li id="_tabs_2_gradle" class="tab">
+<p>Gradle</p>
+</li>
+</ul>
+</div>
+<div id="_tabs_2_maven--panel" class="tabpanel" aria-labelledby="_tabs_2_maven">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.logging.log4j&lt;/groupId&gt;
+  &lt;artifactId&gt;log4j-layout-template-json&lt;/artifactId&gt;
+  &lt;version&gt;3.0.0-beta2&lt;/version&gt;
+  &lt;scope&gt;runtime&lt;/scope&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div id="_tabs_2_gradle--panel" class="tabpanel" aria-labelledby="_tabs_2_gradle">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-groovy hljs" data-lang="groovy">runtimeOnly 'org.apache.logging.log4j:log4j-layout-template-json:3.0.0-beta2'</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</details>
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>See <a href="json-template-layout.html" class="xref page">JSON Template Layout</a> page for the complete documentation.</p>
 </div>
@@ -2552,7 +2651,7 @@ If the Marker in the log event is equal to or is an ancestor of the name specifi
 <h4 id="ScriptPatternSelector"><a class="anchor" href="#ScriptPatternSelector"></a>ScriptPatternSelector</h4>
 <div class="paragraph">
 <p>The ScriptPatternSelector executes a script as described in the
-<a href="configuration.html#Scripts" class="xref page">Scripts</a> section of the Configuration chapter.
+<a href="scripts.html" class="xref page">Scripts</a> section of the Configuration chapter.
 The script is passed all the properties configured in the Properties section of the configuration, the StrSubstitutor used by the Configuration in the "substitutor" variables, and the log event in the "logEvent" variable, and is expected to return the value of the PatternMatch key that should be used, or null if the default pattern should be used.</p>
 </div>
 <div class="listingblock">
@@ -2872,7 +2971,9 @@ To get the most out of it, mind the following checklist:</p>
 <p>Mind <a href="#PatternLayout-gcfree">the garbage footprint of features you use</a></p>
 </li>
 <li>
-<p>Don&#8217;t give too much slack to <a href="configuration.html#log4j2.layoutStringBuilderMaxSize" class="xref page"><code>log4j2.layoutStringBuilderMaxSize</code></a> and try to keep it relatively tight</p>
+<p>Don&#8217;t give too much slack to
+<a href="systemproperties.html#log4j.gc.layoutStringBuilderMaxSize" class="xref page"><code>log4j.gc.layoutStringBuilderMaxSize</code></a>
+and try to keep it relatively tight</p>
 </li>
 </ul>
 </div>
diff --git a/manual/logsep.html b/manual/logsep.html
index a31ac44521..60739e560d 100644
--- a/manual/logsep.html
+++ b/manual/logsep.html
@@ -387,9 +387,6 @@ or environment variable. See the
 configuration property.</p>
 </div>
 <div class="paragraph">
-<p>xref:manual/systemproperties.adoc#log4j2</p>
-</div>
-<div class="paragraph">
 <p>The exact method for setting system properties depends on the container.
 For Tomcat, edit <code>$CATALINA_HOME/conf/catalina.properties</code>. Consult the
 documentation for other web containers.</p>
diff --git a/manual/lookups.html b/manual/lookups.html
index a10a9352e6..65f7b0976a 100644
--- a/manual/lookups.html
+++ b/manual/lookups.html
@@ -272,7 +272,7 @@ arbitrary places. They are a particular type of Plugin that implements
 the
 <a href="../javadoc/log4j-core/org/apache/logging/log4j/core/lookup/StrLookup.html"><code>StrLookup</code></a>
 interface. Information on how to use Lookups in configuration files can
-be found in the <a href="configuration.html#PropertySubstitution" class="xref page">Property
+be found in the <a href="configuration.html#property-substitution" class="xref page">Property
 Substitution</a> section of the <a href="configuration.html" class="xref page">Configuration</a>
 page.</p>
 </div>
@@ -640,7 +640,8 @@ convenient preformatted strings using the <code>java:</code> prefix.</p>
 <div class="paragraph">
 <p>As of Log4j 2.15.1 JNDI operations require that <code>log4j2.enableJndi=true</code> be set as a system property or the
 corresponding environment variable for this lookup to function. See the
-<a href="configuration.html#enableJndiLookup" class="xref page">log4j2.enableJndiLookup</a> system property.</p>
+<a href="systemproperties.html#log4j.jndi.enableLookup" class="xref page">log4j.jndi.enableLookup</a>
+system property.</p>
 </div>
 <div class="paragraph">
 <p>The JndiLookup allows variables to be retrieved via JNDI. By default the
@@ -878,7 +879,7 @@ RollingFileAppender for each unique value of the key named "type" in the
 MapMessage. Note that when used this way a value for "type" should be
 declared in the properties declaration to provide a default value in
 case the message is not a MapMessage or the MapMessage does not contain
-the key. See the <a href="configuration.html#PropertySubstitution" class="xref page">Property
+the key. See the <a href="configuration.html#property-substitution" class="xref page">Property
 Substitution</a> section of the <a href="configuration.html" class="xref page">Configuration</a>
 page for information on how to set the default values.</p>
 </div>
diff --git a/manual/performance.html b/manual/performance.html
index e451b7c3bc..b6b5bb7165 100644
--- a/manual/performance.html
+++ b/manual/performance.html
@@ -352,7 +352,9 @@ Consider the following example:</p>
 </div>
 </div>
 <div class="paragraph">
-<p>The database query (i.e., <code>db.findUserNameById(userId)</code>) can be a significant bottleneck if the created the log event will be discarded anyway – maybe the <code>INFO</code> level or the associated <a href="#manual/markers.adoc" class="xref unresolved">marker</a> is not accepted for this package, or due to some other filtering.</p>
+<p>The database query (i.e., <code>db.findUserNameById(userId)</code>) can be a significant bottleneck if the created the log event will be discarded anyway – maybe the <code>INFO</code> level or the associated
+<a href="https://logging.apache.org/log4j/2.x/manual/markers.html">marker</a>
+is not accepted for this package, or due to some other filtering.</p>
 </div>
 <div class="ulist checklist">
 <ul class="checklist">
@@ -364,7 +366,9 @@ Consider the following example:</p>
 </div>
 </div>
 <div class="paragraph">
-<p>While this would work for cases where the message can be dropped due to insufficient level, this approach is still prone to other filtering cases; e.g., maybe the associated <a href="#manual/markers.adoc" class="xref unresolved">marker</a> is not accepted.</p>
+<p>While this would work for cases where the message can be dropped due to insufficient level, this approach is still prone to other filtering cases; e.g., maybe the associated
+<a href="https://logging.apache.org/log4j/2.x/manual/markers.html">marker</a>
+is not accepted.</p>
 </div>
 </li>
 <li>
diff --git a/manual/systemproperties.html b/manual/systemproperties.html
index 468351082c..21b7539baf 100644
--- a/manual/systemproperties.html
+++ b/manual/systemproperties.html
@@ -786,7 +786,9 @@ Integrators can use this to customize the shutdown order of the JVM.</p>
 </tbody>
 </table>
 <div class="paragraph">
-<p>Prints a stacktrace to the <a href="configuration.html#StatusMessages" class="xref page">status logger</a> at <code>DEBUG</code> level when the LoggerContext is started.</p>
+<p>Prints a stacktrace to the
+<a href="https://logging.apache.org/log4j/2.x/manual/status-logger.html">status logger</a>
+at <code>DEBUG</code> level when the LoggerContext is started.</p>
 </div>
 <div class="paragraph">
 <p>For debug purposes only.</p>
diff --git a/sitemap.xml b/sitemap.xml
index 27fc5eed2e..14020a459a 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,186 +2,186 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
 <loc>https://logging.apache.org/log4j/3.x/articles.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/development.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/download.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/faq.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/getting-started.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/index.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/javadoc.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-1.2-api.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-api.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-docker.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-flume-ng.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-iostreams.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-jpl.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-jul.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j-impl.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j2-impl.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-to-jul.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-to-slf4j.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/api.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/architecture.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/async.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/cloud.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/configuration.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/customconfig.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/dependencyinjection.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/extending.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/filters.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/garbagefree.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/index.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/installation.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/jmx.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/json-template-layout.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/layouts.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/logsep.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/lookups.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/migration.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/performance.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/plugins.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/scripts.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/systemproperties.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/usage.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/plugin-reference.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/release-notes.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/thanks.html</loc>
-<lastmod>2024-05-28T20:28:55.745Z</lastmod>
+<lastmod>2024-05-28T20:49:31.148Z</lastmod>
 </url>
 </urlset>