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

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


The following commit(s) were added to refs/heads/2.x-site-stg-out by this push:
     new b2c8567e1e Add website content generated from 
`b272045f86588e6ff88d411a9c9eae93fc231243`
b2c8567e1e is described below

commit b2c8567e1ea41f2d1b1b7d9c12d83ad4c8ba4e39
Author: ASF Logging Services RM <[email protected]>
AuthorDate: Fri Mar 21 11:38:39 2025 +0000

    Add website content generated from 
`b272045f86588e6ff88d411a9c9eae93fc231243`
---
 ...ag-01168003b98f120d2f0736e5172de8e1218f189e.svg |   1 +
 ...ag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg |   1 +
 ...ag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg |   1 +
 ...ag-73365a4d8197b5441a98fd1d661b07760da178be.svg |   1 +
 ...ag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg |   1 +
 ...ag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg |   1 +
 graalvm.html                                       |  58 +---
 hibernate.html                                     |  58 +---
 log4j-jul.html                                     |  58 +---
 manual/architecture.html                           | 364 ++-------------------
 migrate-from-logback.html                          |  58 +---
 migrate-from-slf4j.html                            |  58 +---
 plugin-reference.html                              |  12 +-
 sitemap.xml                                        | 118 +++----
 14 files changed, 114 insertions(+), 676 deletions(-)

diff --git a/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg 
b/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg
new file mode 100644
index 0000000000..ee9dca5100
--- /dev/null
+++ b/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="278px" preserveAspectRatio="none" 
style="width:781px;height:278px;background:#FFFFFF;" version="1.1" viewBox="0 0 
781 278" width="781px" zoomAndPan="magnify"><defs/><g><!--cluster 
LoggerContext--><g id="cluster_LoggerContext"><path d="M8.5,6 L127.5,6 
A3.75,3.75 0 0 1 130,8.5 L137,28.2969 L621.5,28.2969 A2.5,2.5 0 0 [...]
\ No newline at end of file
diff --git a/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg 
b/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg
new file mode 100644
index 0000000000..19bc3dd128
--- /dev/null
+++ b/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="1022px" preserveAspectRatio="none" 
style="width:1327px;height:1022px;background:#FFFFFF;" version="1.1" viewBox="0 
0 1327 1022" width="1327px" zoomAndPan="magnify"><defs/><g><!--cluster c--><g 
id="cluster_c"><path d="M8.5,150.89 L116.5,150.89 A3.75,3.75 0 0 1 119,153.39 
L126,173.1869 L806.5,173.1869 A2.5,2.5 0 0 1  [...]
\ No newline at end of file
diff --git a/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg 
b/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg
new file mode 100644
index 0000000000..ea30fa85b9
--- /dev/null
+++ b/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="489px" preserveAspectRatio="none" 
style="width:917px;height:489px;background:#FFFFFF;" version="1.1" viewBox="0 0 
917 489" width="917px" zoomAndPan="magnify"><defs/><g><!--class 
LoggerContext--><g id="elem_LoggerContext"><rect codeLine="1" fill="#F1F1F1" 
height="96.8906" id="LoggerContext" rx="2.5" ry="2.5" style=" [...]
\ No newline at end of file
diff --git a/_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg 
b/_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg
new file mode 100644
index 0000000000..c9b6b7b12e
--- /dev/null
+++ b/_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="507px" preserveAspectRatio="none" 
style="width:649px;height:507px;background:#FFFFFF;" version="1.1" viewBox="0 0 
649 507" width="649px" zoomAndPan="magnify"><defs/><g><!--class 
Configuration--><g id="elem_Configuration"><rect codeLine="1" fill="#F1F1F1" 
height="129.4844" id="Configuration" rx="2.5" ry="2.5" style= [...]
\ No newline at end of file
diff --git a/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg 
b/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg
new file mode 100644
index 0000000000..d9566cac31
--- /dev/null
+++ b/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="442px" preserveAspectRatio="none" 
style="width:298px;height:442px;background:#FFFFFF;" version="1.1" viewBox="0 0 
298 442" width="298px" zoomAndPan="magnify"><defs/><g><!--class 
LoggerContext--><g id="elem_LoggerContext"><rect codeLine="1" fill="#F1F1F1" 
height="96.8906" id="LoggerContext" rx="2.5" ry="2.5" style=" [...]
\ No newline at end of file
diff --git a/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg 
b/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg
new file mode 100644
index 0000000000..dcd88d33a2
--- /dev/null
+++ b/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
contentStyleType="text/css" height="300px" preserveAspectRatio="none" 
style="width:649px;height:300px;background:#FFFFFF;" version="1.1" viewBox="0 0 
649 300" width="649px" zoomAndPan="magnify"><defs/><g><!--class 
LoggerContext--><g id="elem_LoggerContext"><rect codeLine="1" fill="#F1F1F1" 
height="96.8906" id="LoggerContext" rx="2.5" ry="2.5" style=" [...]
\ No newline at end of file
diff --git a/graalvm.html b/graalvm.html
index 1b404f69bf..fc53b77b72 100644
--- a/graalvm.html
+++ b/graalvm.html
@@ -406,63 +406,11 @@ For instance, <code>log4j-slf4j2-impl</code> 
<em>bridges</em> SLF4J calls to Log
 <div class="paragraph">
 <p>To make things a little bit more tangible, consider the following 
visualization of a typical Log4j Core installation with bridges for an 
application:</p>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-frame "Compile time" {
-  [Application] --&gt; [Log4j API] : logs to
-
-  [Log4j API] #Cyan
-
-  [SLF4J] #Cyan
-
-  [Library 1] --&gt; [SLF4J] : logs to
-  [Application] --&gt; [Library 1] : uses
-  [Application] --&gt; [Library 2] : uses
-  [Application] --&gt; [Library 3] : uses
-}
-
-frame Runtime {
-
-  [Log4j Core] &lt;.. [Log4j API] : is implemented by
-  [Log4j Core] &lt;.. (log4j2.xml) : is provided to
-  [Log4j Core] #LightGreen
-
-  [JPL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JPL-to-Log4j] #Yellow
-
-  [SLF4J-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [SLF4J-to-Log4j] #Yellow
-
-  [JUL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JUL-to-Log4j] #Yellow
-
-  frame JRE {
-    [JPL] #Cyan
-    [JUL] #Cyan
-  }
-
-}
-
-[Library 2] --&gt; [JUL] : logs to
-[Library 3] --&gt; [JPL] : logs to
-
-[JPL] ..&gt; [JPL-to-Log4j] : is implemented by
-[JUL] ..&gt; [JUL-to-Log4j] : is implemented by
-[SLF4J] ..&gt; [SLF4J-to-Log4j] : is implemented by
-
-legend top right
-  | &lt;#LightGreen&gt; | Logging implementation |
-  | &lt;#Yellow&gt; | Logging bridge |
-  | &lt;#Cyan&gt; | Logging API |
-  | &lt;size:18&gt;&lt;U+2192&gt;&lt;/size&gt; | Compile-time usage |
-  | &lt;size:18&gt;&lt;U+21E2&gt;&lt;/size&gt; | Runtime usage |
-endlegend
-
-@enduml</pre>
+<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
 </div>
+<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </details>
diff --git a/hibernate.html b/hibernate.html
index 86286f41f8..ebe21251e6 100644
--- a/hibernate.html
+++ b/hibernate.html
@@ -395,63 +395,11 @@ For instance, <code>log4j-slf4j2-impl</code> 
<em>bridges</em> SLF4J calls to Log
 <div class="paragraph">
 <p>To make things a little bit more tangible, consider the following 
visualization of a typical Log4j Core installation with bridges for an 
application:</p>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-frame "Compile time" {
-  [Application] --&gt; [Log4j API] : logs to
-
-  [Log4j API] #Cyan
-
-  [SLF4J] #Cyan
-
-  [Library 1] --&gt; [SLF4J] : logs to
-  [Application] --&gt; [Library 1] : uses
-  [Application] --&gt; [Library 2] : uses
-  [Application] --&gt; [Library 3] : uses
-}
-
-frame Runtime {
-
-  [Log4j Core] &lt;.. [Log4j API] : is implemented by
-  [Log4j Core] &lt;.. (log4j2.xml) : is provided to
-  [Log4j Core] #LightGreen
-
-  [JPL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JPL-to-Log4j] #Yellow
-
-  [SLF4J-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [SLF4J-to-Log4j] #Yellow
-
-  [JUL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JUL-to-Log4j] #Yellow
-
-  frame JRE {
-    [JPL] #Cyan
-    [JUL] #Cyan
-  }
-
-}
-
-[Library 2] --&gt; [JUL] : logs to
-[Library 3] --&gt; [JPL] : logs to
-
-[JPL] ..&gt; [JPL-to-Log4j] : is implemented by
-[JUL] ..&gt; [JUL-to-Log4j] : is implemented by
-[SLF4J] ..&gt; [SLF4J-to-Log4j] : is implemented by
-
-legend top right
-  | &lt;#LightGreen&gt; | Logging implementation |
-  | &lt;#Yellow&gt; | Logging bridge |
-  | &lt;#Cyan&gt; | Logging API |
-  | &lt;size:18&gt;&lt;U+2192&gt;&lt;/size&gt; | Compile-time usage |
-  | &lt;size:18&gt;&lt;U+21E2&gt;&lt;/size&gt; | Runtime usage |
-endlegend
-
-@enduml</pre>
+<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
 </div>
+<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </details>
diff --git a/log4j-jul.html b/log4j-jul.html
index 8d1cc8d62f..dd94fea6ee 100644
--- a/log4j-jul.html
+++ b/log4j-jul.html
@@ -418,63 +418,11 @@ For instance, <code>log4j-slf4j2-impl</code> 
<em>bridges</em> SLF4J calls to Log
 <div class="paragraph">
 <p>To make things a little bit more tangible, consider the following 
visualization of a typical Log4j Core installation with bridges for an 
application:</p>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-frame "Compile time" {
-  [Application] --&gt; [Log4j API] : logs to
-
-  [Log4j API] #Cyan
-
-  [SLF4J] #Cyan
-
-  [Library 1] --&gt; [SLF4J] : logs to
-  [Application] --&gt; [Library 1] : uses
-  [Application] --&gt; [Library 2] : uses
-  [Application] --&gt; [Library 3] : uses
-}
-
-frame Runtime {
-
-  [Log4j Core] &lt;.. [Log4j API] : is implemented by
-  [Log4j Core] &lt;.. (log4j2.xml) : is provided to
-  [Log4j Core] #LightGreen
-
-  [JPL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JPL-to-Log4j] #Yellow
-
-  [SLF4J-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [SLF4J-to-Log4j] #Yellow
-
-  [JUL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JUL-to-Log4j] #Yellow
-
-  frame JRE {
-    [JPL] #Cyan
-    [JUL] #Cyan
-  }
-
-}
-
-[Library 2] --&gt; [JUL] : logs to
-[Library 3] --&gt; [JPL] : logs to
-
-[JPL] ..&gt; [JPL-to-Log4j] : is implemented by
-[JUL] ..&gt; [JUL-to-Log4j] : is implemented by
-[SLF4J] ..&gt; [SLF4J-to-Log4j] : is implemented by
-
-legend top right
-  | &lt;#LightGreen&gt; | Logging implementation |
-  | &lt;#Yellow&gt; | Logging bridge |
-  | &lt;#Cyan&gt; | Logging API |
-  | &lt;size:18&gt;&lt;U+2192&gt;&lt;/size&gt; | Compile-time usage |
-  | &lt;size:18&gt;&lt;U+21E2&gt;&lt;/size&gt; | Runtime usage |
-endlegend
-
-@enduml</pre>
+<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
 </div>
+<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </details>
diff --git a/manual/architecture.html b/manual/architecture.html
index 5768b99954..5f925cdcfc 100644
--- a/manual/architecture.html
+++ b/manual/architecture.html
@@ -359,146 +359,11 @@
 In this section we will try to explain major pillars its architecture stands 
on.
 An overview these major classes can be depicted as follows:</p>
 </div>
-<div id="architecture-diagram" class="literalblock kroki-error">
-<div class="title">An overview of major classes and their relation</div>
+<div id="architecture-diagram" class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-class LoggerContext {
-  Configuration config
-  Logger[] loggers
-  Logger getLogger(String name)
-}
-
-note left of LoggerContext {
-  Anchor for the logging system
-}
-
-LoggerContext --&gt; "0..*" Logger
-
-package "Configuration" as c {
-
-    class Configuration {
-      Appender[] appenders
-      Filter filter
-      LoggerConfig[] loggerConfigs
-      LoggerConfig getLoggerConfig(String name)
-      StrSubstitutor substitutor
-    }
-
-    note left of Configuration
-      Encapsulates components compiled
-      from a user-provided configuration
-      file (e.g., `log4j2.xml`)
-    end note
-
-    Configuration --&gt; Filter
-
-    Configuration --&gt; "0..*" Appender
-
-    Configuration --&gt; "0..*" LoggerConfig
-
-    Configuration --&gt; StrSubstitutor
-
-    class Appender {
-      AbstractManager manager
-      Layout layout
-      Filter filter
-      void append(LogEvent)
-    }
-
-    Appender --&gt; Layout
-
-    Appender --&gt; Filter
-
-    class Layout {
-      byte[] encode(LogEvent)
-    }
-
-    class Filter {
-      Result filter(LogEvent)
-    }
-
-    note right of Filter
-      Note that a `Filter` can
-      be provided at 4 levels:
-      1. `Configuration`
-      2. `LoggerConfig`
-      3. `AppenderControl`
-      4. `Appender`
-    end note
-
-    class LoggerConfig {
-      AppenderControl[] appenderControls
-      Level level
-      Filter filter
-      void log(LogEvent)
-    }
-
-    LoggerConfig -[#green,thickness=6]-&gt; "0..*" AppenderControl
-
-    LoggerConfig --&gt; Filter
-
-    class AppenderControl {
-      Appender appender
-      Filter filter
-      void append(LogEvent)
-    }
-
-    note right of AppenderControl
-      Decorates an `Appender`
-      with a `Filter`
-    end note
-
-    AppenderControl -[#green,thickness=6]-&gt; Appender
-
-    AppenderControl --&gt; Filter
-
-    class StrSubstitutor {
-      Interpolator interpolator
-      String replace(String input)
-    }
-
-    note right of StrSubstitutor
-      Responsible for
-      property substitution
-      (e.g., `${env:USER}`)
-    end note
-
-    StrSubstitutor --&gt; Interpolator
-
-    class Interpolator {
-      StrLookup[] lookups
-      String lookup(String input)
-    }
-
-    Interpolator --&gt; "0..*" StrLookup
-
-    class StrLookup {
-      String lookup(String input)
-    }
-}
-
-LoggerContext --&gt; Configuration
-
-class Logger {
-  void log(Level level, Message message)
-}
-
-note right of Logger
-  The main API entry point
-  users interact with
-end note
-
-Logger -[#green,thickness=6]-&gt; LoggerConfig : delegates `log()`
-
-class AbstractManager {
-}
-
-Appender -[#green,thickness=6]-&gt; AbstractManager
-
-@enduml</pre>
+<img src="../_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg" 
alt="An overview of major classes and their relation">
 </div>
+<div class="title">Figure 1. An overview of major classes and their 
relation</div>
 </div>
 <div class="paragraph">
 <p>At a high level,</p>
@@ -522,7 +387,7 @@ Both can be created directly (i.e., programmatically) or 
indirectly at first int
 <p><a href="#Configuration"><code>Configuration</code></a> is equipped with <a 
href="#StrSubstitutor"><code>StrSubstitutor</code> et al.</a> to allow property 
substitution in <code>String</code>-typed values.</p>
 </li>
 <li>
-<p>A typical <code>log()</code> call triggers a chain of invocations through 
classes <code>Logger</code>, <code>LoggerConfig</code>, 
<code>AppenderControl</code>, <code>Appender</code>, and 
<code>AbstractManager</code> in order – this is depicted using green arrows in 
<a href="#architecture-diagram">An overview of major classes and their 
relation</a>.</p>
+<p>A typical <code>log()</code> call triggers a chain of invocations through 
classes <code>Logger</code>, <code>LoggerConfig</code>, 
<code>AppenderControl</code>, <code>Appender</code>, and 
<code>AbstractManager</code> in order – this is depicted using green arrows in 
<a href="#architecture-diagram">Figure 1</a>.</p>
 </li>
 </ul>
 </div>
@@ -538,35 +403,11 @@ Both can be created directly (i.e., programmatically) or 
indirectly at first int
 <p>The <a 
href="../javadoc/log4j-api/org/apache/logging/log4j/spi/LoggerContext.html"><code>LoggerContext</code></a>
 acts as the anchor point for the logging system.
 It is associated with an active <a 
href="#Configuration"><code>Configuration</code></a> and is primarily 
responsible for instantiating <a href="#Logger"><code>Logger</code></a>s.</p>
 </div>
-<div id="LoggerContext-diagram" class="literalblock kroki-error">
-<div class="title"><code>LoggerContext</code> and other directly related 
classes</div>
+<div id="LoggerContext-diagram" class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-class LoggerContext #line.bold {
-  Configuration config
-  Logger[] loggers
-  Logger getLogger(String name)
-}
-
-LoggerContext --&gt; Configuration
-
-LoggerContext --&gt; "0..*" Logger
-
-class Configuration {
-  Appender[] appenders
-  Filter filter
-  LoggerConfig[] loggerConfigs
-  LoggerConfig getLoggerConfig(String name)
-  StrSubstitutor substitutor
-}
-
-class Logger {
-  void log(Level level, Message message)
-}
-
-@enduml</pre>
+<img src="../_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg" 
alt="`LoggerContext` and other directly related classes">
 </div>
+<div class="title">Figure 2. <code>LoggerContext</code> and other directly 
related classes</div>
 </div>
 <div class="paragraph">
 <p>In most cases, applications have a single global <code>LoggerContext</code>.
@@ -582,58 +423,11 @@ Refer to <a href="../jakarta.html#log-separation" 
class="xref page">Log Separati
 <p>Every <a href="#LoggerContext"><code>LoggerContext</code></a> is associated 
with an active <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/config/Configuration.html"><code>Configuration</code></a>.
 It models the configuration of all appenders, layouts, filters, loggers, and 
contains the reference to <a href="#StrSubstitutor"><code>StrSubstitutor</code> 
et al.</a>.</p>
 </div>
-<div id="Configuration-diagram" class="literalblock kroki-error">
-<div class="title"><code>Configuration</code> and other directly related 
classes</div>
+<div id="Configuration-diagram" class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-class LoggerContext {
-  Configuration config
-  Logger[] loggers
-  Logger getLogger(String name)
-}
-
-LoggerContext --&gt; Configuration
-
-class Configuration #line.bold {
-  Appender[] appenders
-  Filter filter
-  LoggerConfig[] loggerConfigs
-  LoggerConfig getLoggerConfig(String name)
-  StrSubstitutor substitutor
-}
-
-Configuration --&gt; "0..*" Filter
-
-Configuration --&gt; "0..*" Appender
-
-Configuration --&gt; "0..*" LoggerConfig
-
-Configuration --&gt; StrSubstitutor
-
-class Appender {
-  Layout layout
-  void append(LogEvent)
-}
-
-class Filter {
-  Result filter(LogEvent)
-}
-
-class LoggerConfig {
-  AppenderRef[] appenderRefs
-  AppenderControl[] appenderControls
-  Level level
-  Filter filter
-  void log(LogEvent)
-}
-
-class StrSubstitutor {
-  Interpolator interpolator
-  String replace(String input)
-}
-@enduml</pre>
+<img src="../_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg" 
alt="`Configuration` and other directly related classes">
 </div>
+<div class="title">Figure 3. <code>Configuration</code> and other directly 
related classes</div>
 </div>
 <div class="paragraph">
 <p>Configuration of Log4j Core is typically done at application initialization.
@@ -670,41 +464,11 @@ Threads that already started processing a log event will 
either:</p>
 </li>
 </ul>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Overview of the reconfiguration process</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-left to right direction
-
-package LoggerContext {
-    object Logger
-
-    package "New Configuration" as c2 {
-        object "LoggerConfig" as lc2
-        object "AppenderControl" as ac2
-        object "Appender" as app2
-    }
-
-    package "Old Configuration" as c1 {
-        object "LoggerConfig" as lc1
-        object "AppenderControl" as ac1
-        object "Appender" as app1
-    }
-}
-
-object AbstractManager
-
-Logger ..&gt; lc1
-lc1 --&gt; ac1
-ac1 --&gt; app1
-app1 --&gt; AbstractManager
-
-Logger --&gt; lc2
-lc2 --&gt; ac2
-ac2 --&gt; app2
-app2 --&gt; AbstractManager
-@enduml</pre>
+<img src="../_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg" 
alt="Overview of the reconfiguration process">
 </div>
+<div class="title">Figure 4. Overview of the reconfiguration process</div>
 </div>
 </div>
 </div>
@@ -718,35 +482,11 @@ They are created by calling one of the 
<code>getLogger()</code> methods of <a hr
 The <code>Logger</code> itself performs no direct actions.
 It simply has a name and is associated with a <a 
href="#LoggerConfig"><code>LoggerConfig</code></a>.</p>
 </div>
-<div id="Logger-diagram" class="literalblock kroki-error">
-<div class="title"><code>Logger</code> and other directly related classes</div>
+<div id="Logger-diagram" class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-class LoggerContext {
-  Configuration config
-  Logger[] loggers
-  Logger getLogger(String name)
-}
-
-LoggerContext --&gt; "0..*" Logger
-
-class LoggerConfig {
-  AppenderRef[] appenderRefs
-  AppenderControl[] appenderControls
-  Level level
-  Filter filter
-  void log(LogEvent)
-}
-
-class Logger #line.bold {
-  void log(Level level, Message message)
-}
-
-Logger -[#green,thickness=6]-&gt; LoggerConfig : delegates `log()`
-
-@enduml</pre>
+<img src="../_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg" 
alt="`Logger` and other directly related classes">
 </div>
+<div class="title">Figure 5. <code>Logger</code> and other directly related 
classes</div>
 </div>
 <div class="paragraph">
 <p>The hierarchy between <a 
href="#LoggerConfig"><code>LoggerConfig</code></a>s, implies the very same 
hierarchy between <code>Logger</code>s too.
@@ -784,59 +524,11 @@ A <code>LoggerConfig</code> essentially contains</p>
 </li>
 </ul>
 </div>
-<div id="LoggerConfig-diagram" class="literalblock kroki-error">
-<div class="title"><code>LoggerConfig</code> and other directly related 
classes</div>
+<div id="LoggerConfig-diagram" class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-class Configuration {
-  Appender[] appenders
-  Filter filter
-  LoggerConfig[] loggerConfigs
-  LoggerConfig getLoggerConfig(String name)
-  StrSubstitutor substitutor
-}
-
-Configuration --&gt; "0..*" LoggerConfig
-
-class Filter {
-  Result filter(LogEvent)
-}
-
-class LoggerConfig #line.bold {
-  AppenderRef[] appenderRefs
-  AppenderControl[] appenderControls
-  Level level
-  Filter filter
-  void log(LogEvent)
-}
-
-LoggerConfig --&gt; "0..*" AppenderRef
-
-LoggerConfig -[#green,thickness=6]-&gt; "0..*" AppenderControl
-
-LoggerConfig --&gt; Filter
-
-class AppenderRef {
-  String appenderName
-  Level level
-  Filter filter
-}
-
-class AppenderControl {
-  Appender appender
-  Filter filter
-  void append(LogEvent)
-}
-
-class Logger {
-  void log(Level level, Message message)
-}
-
-Logger -[#green,thickness=6]-&gt; LoggerConfig : delegates `log()`
-
-@enduml</pre>
+<img src="../_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg" 
alt="`LoggerConfig` and other directly related classes">
 </div>
+<div class="title">Figure 6. <code>LoggerConfig</code> and other directly 
related classes</div>
 </div>
 <div class="sect2">
 <h3 id="logger-hierarchy"><a class="anchor" 
href="#logger-hierarchy"></a>Logger hierarchy</h3>
@@ -845,13 +537,13 @@ Logger -[#green,thickness=6]-&gt; LoggerConfig : 
delegates `log()`
 A <code>LoggerConfig</code> called <code>child</code> is said to be parented 
by <code>parent</code>, if <code>parent</code> has the <em>longest prefix 
match</em> on name.
 This match is case-sensitive and performed after tokenizing the name by 
splitting it from <code>.</code> (dot) characters.
 For a positive name match, tokens must match exhaustively.
-See <a href="#logger-hiearchy-diagram">Figure 1</a> for an example.</p>
+See <a href="#logger-hiearchy-diagram">Figure 7</a> for an example.</p>
 </div>
 <div id="logger-hiearchy-diagram" class="imageblock kroki">
 <div class="content">
 <img src="../_images/diag-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg" 
alt="Example hierarchy of loggers named `X`, `X.Y`, `X.Y.Z`, and `X.YZ`">
 </div>
-<div class="title">Figure 1. Example hierarchy of loggers named 
<code>X</code>, <code>X.Y</code>, <code>X.Y.Z</code>, and 
<code>X.YZ</code></div>
+<div class="title">Figure 7. Example hierarchy of loggers named 
<code>X</code>, <code>X.Y</code>, <code>X.Y.Z</code>, and 
<code>X.YZ</code></div>
 </div>
 <div class="paragraph">
 <p>If a <code>LoggerConfig</code> is not provided an explicit level, it will 
be inherited from its parent.
@@ -1097,7 +789,7 @@ That is, we will examine the effective level of a 
<code>Logger</code> in various
 <div class="content">
 <img src="../_images/diag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg" 
alt="`Filter` and other directly related classes">
 </div>
-<div class="title">Figure 2. <code>Filter</code> and other directly related 
classes</div>
+<div class="title">Figure 8. <code>Filter</code> and other directly related 
classes</div>
 </div>
 <div class="paragraph">
 <p>Refer to <a href="filters.html" class="xref page">Filters</a> for further 
information.</p>
@@ -1116,7 +808,7 @@ See <a href="appenders.html" class="xref 
page">Appenders</a> for the complete gu
 <div class="content">
 <img src="../_images/diag-63d449f3bcd24cfa522a41f6e2f545416de30322.svg" 
alt="`Appender` and other directly related classes">
 </div>
-<div class="title">Figure 3. <code>Appender</code> and other directly related 
classes</div>
+<div class="title">Figure 9. <code>Appender</code> and other directly related 
classes</div>
 </div>
 <div class="paragraph">
 <p>An <code>Appender</code> can be added to a <a 
href="#Logger"><code>Logger</code></a> by calling the <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/config/Configuration.html#addLoggerAppender(org.apache.logging.log4j.core.Logger,%20org.apache.logging.log4j.core.Appender)"><code>addLoggerAppender()</code></a>
 method of the current <a href="#Configuration"><code>Configuration</code></a>.
@@ -1143,13 +835,13 @@ However, if an ancestor of the <code>LoggerConfig</code> 
associated with <code>L
 <div class="content">
 <img src="../_images/diag-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg" 
alt="Example hierarchy of logger configurations to demonstrate appender 
additivity">
 </div>
-<div class="title">Figure 4. Example hierarchy of logger configurations to 
demonstrate appender additivity</div>
+<div class="title">Figure 10. Example hierarchy of logger configurations to 
demonstrate appender additivity</div>
 </div>
 <div class="paragraph">
-<p>In <a href="#appender-additivity-diagram">Figure 4</a>, the effective 
appenders for each logger configuration are as follows:</p>
+<p>In <a href="#appender-additivity-diagram">Figure 10</a>, the effective 
appenders for each logger configuration are as follows:</p>
 </div>
 <table class="tableblock frame-all grid-all stretch">
-<caption class="title">Table 6. Effective appenders of logger configurations 
in <a href="#appender-additivity-diagram">Figure 4</a></caption>
+<caption class="title">Table 6. Effective appenders of logger configurations 
in <a href="#appender-additivity-diagram">Figure 10</a></caption>
 <colgroup>
 <col style="width: 14.2857%;">
 <col style="width: 14.2857%;">
@@ -1285,7 +977,7 @@ Since during a <a href="#reconfiguration">reconfiguration 
event</a> multiple ins
 <div class="content">
 <img src="../_images/diag-232cdf1d44336897239fa03f6521cc730f38f32d.svg" 
alt="`Layout` and other directly related classes">
 </div>
-<div class="title">Figure 5. <code>Layout</code> and other directly related 
classes</div>
+<div class="title">Figure 11. <code>Layout</code> and other directly related 
classes</div>
 </div>
 <div class="paragraph">
 <p>Refer to <a href="layouts.html" class="xref page">Layouts</a> for 
details.</p>
@@ -1304,7 +996,7 @@ It accepts an <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/looku
 <div class="content">
 <img src="../_images/diag-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg" 
alt="`StrSubstitutor` et al. and other directly related classes">
 </div>
-<div class="title">Figure 6. <code>StrSubstitutor</code> et al. and other 
directly related classes</div>
+<div class="title">Figure 12. <code>StrSubstitutor</code> et al. and other 
directly related classes</div>
 </div>
 <div class="paragraph">
 <p>See <a href="configuration.html#property-substitution" class="xref 
page">how property substitution works</a> and <a href="lookups.html" 
class="xref page">the predefined lookups</a> for further information.</p>
diff --git a/migrate-from-logback.html b/migrate-from-logback.html
index c7aa37da98..bec2e787fa 100644
--- a/migrate-from-logback.html
+++ b/migrate-from-logback.html
@@ -409,63 +409,11 @@ For instance, <code>log4j-slf4j2-impl</code> 
<em>bridges</em> SLF4J calls to Log
 <div class="paragraph">
 <p>To make things a little bit more tangible, consider the following 
visualization of a typical Log4j Core installation with bridges for an 
application:</p>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-frame "Compile time" {
-  [Application] --&gt; [Log4j API] : logs to
-
-  [Log4j API] #Cyan
-
-  [SLF4J] #Cyan
-
-  [Library 1] --&gt; [SLF4J] : logs to
-  [Application] --&gt; [Library 1] : uses
-  [Application] --&gt; [Library 2] : uses
-  [Application] --&gt; [Library 3] : uses
-}
-
-frame Runtime {
-
-  [Log4j Core] &lt;.. [Log4j API] : is implemented by
-  [Log4j Core] &lt;.. (log4j2.xml) : is provided to
-  [Log4j Core] #LightGreen
-
-  [JPL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JPL-to-Log4j] #Yellow
-
-  [SLF4J-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [SLF4J-to-Log4j] #Yellow
-
-  [JUL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JUL-to-Log4j] #Yellow
-
-  frame JRE {
-    [JPL] #Cyan
-    [JUL] #Cyan
-  }
-
-}
-
-[Library 2] --&gt; [JUL] : logs to
-[Library 3] --&gt; [JPL] : logs to
-
-[JPL] ..&gt; [JPL-to-Log4j] : is implemented by
-[JUL] ..&gt; [JUL-to-Log4j] : is implemented by
-[SLF4J] ..&gt; [SLF4J-to-Log4j] : is implemented by
-
-legend top right
-  | &lt;#LightGreen&gt; | Logging implementation |
-  | &lt;#Yellow&gt; | Logging bridge |
-  | &lt;#Cyan&gt; | Logging API |
-  | &lt;size:18&gt;&lt;U+2192&gt;&lt;/size&gt; | Compile-time usage |
-  | &lt;size:18&gt;&lt;U+21E2&gt;&lt;/size&gt; | Runtime usage |
-endlegend
-
-@enduml</pre>
+<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
 </div>
+<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </details>
diff --git a/migrate-from-slf4j.html b/migrate-from-slf4j.html
index 58d0c5f6df..84fc927277 100644
--- a/migrate-from-slf4j.html
+++ b/migrate-from-slf4j.html
@@ -409,63 +409,11 @@ For instance, <code>log4j-slf4j2-impl</code> 
<em>bridges</em> SLF4J calls to Log
 <div class="paragraph">
 <p>To make things a little bit more tangible, consider the following 
visualization of a typical Log4j Core installation with bridges for an 
application:</p>
 </div>
-<div class="literalblock kroki-error">
-<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
+<div class="imageblock kroki">
 <div class="content">
-<pre>@startuml
-
-frame "Compile time" {
-  [Application] --&gt; [Log4j API] : logs to
-
-  [Log4j API] #Cyan
-
-  [SLF4J] #Cyan
-
-  [Library 1] --&gt; [SLF4J] : logs to
-  [Application] --&gt; [Library 1] : uses
-  [Application] --&gt; [Library 2] : uses
-  [Application] --&gt; [Library 3] : uses
-}
-
-frame Runtime {
-
-  [Log4j Core] &lt;.. [Log4j API] : is implemented by
-  [Log4j Core] &lt;.. (log4j2.xml) : is provided to
-  [Log4j Core] #LightGreen
-
-  [JPL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JPL-to-Log4j] #Yellow
-
-  [SLF4J-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [SLF4J-to-Log4j] #Yellow
-
-  [JUL-to-Log4j] ..&gt; [Log4j Core] : forwards to
-  [JUL-to-Log4j] #Yellow
-
-  frame JRE {
-    [JPL] #Cyan
-    [JUL] #Cyan
-  }
-
-}
-
-[Library 2] --&gt; [JUL] : logs to
-[Library 3] --&gt; [JPL] : logs to
-
-[JPL] ..&gt; [JPL-to-Log4j] : is implemented by
-[JUL] ..&gt; [JUL-to-Log4j] : is implemented by
-[SLF4J] ..&gt; [SLF4J-to-Log4j] : is implemented by
-
-legend top right
-  | &lt;#LightGreen&gt; | Logging implementation |
-  | &lt;#Yellow&gt; | Logging bridge |
-  | &lt;#Cyan&gt; | Logging API |
-  | &lt;size:18&gt;&lt;U+2192&gt;&lt;/size&gt; | Compile-time usage |
-  | &lt;size:18&gt;&lt;U+21E2&gt;&lt;/size&gt; | Runtime usage |
-endlegend
-
-@enduml</pre>
+<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
 </div>
+<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </details>
diff --git a/plugin-reference.html b/plugin-reference.html
index 684f8d073b..04602285a5 100644
--- a/plugin-reference.html
+++ b/plugin-reference.html
@@ -16156,10 +16156,10 @@ Supports Lookup expressions.</p>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>boolean?</code></p></td>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
 </div>
 <div class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
 </div></div></td>
 </tr>
 <tr>
@@ -17453,10 +17453,10 @@ Supports Lookup expressions.</p>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>boolean?</code></p></td>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
 </div>
 <div class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
 </div></div></td>
 </tr>
 <tr>
@@ -17652,10 +17652,10 @@ Supports Lookup expressions.</p>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>boolean?</code></p></td>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
 </div>
 <div class="paragraph">
-<p>If "true", includes the stacktrace of any Throwable in the generated JSON, 
defaults to "true".</p>
+<p>If "true", includes the stacktrace of any Throwable in the generated data, 
defaults to "true".</p>
 </div></div></td>
 </tr>
 <tr>
diff --git a/sitemap.xml b/sitemap.xml
index 9dfdbe667d..5574fc7d6b 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,238 +2,238 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/components.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/development.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/download.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/faq.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/graalvm.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/hibernate.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/index.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/jakarta.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/javadoc.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-iostreams.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-jul.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-spring-boot.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-to-jul.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/api.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/database.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/delegating.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/file.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/message-queue.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/network.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/rolling-file.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/architecture.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/async.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/compatibility.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/config-intro.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/configuration.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/customconfig.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/customloglevels.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/eventlogging.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/extending.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/filters.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/flowtracing.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/garbagefree.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/getting-started.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/implementation.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/index.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/installation.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/jmx.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/json-template-layout.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/layouts.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/logbuilder.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/lookups.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/markers.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/messages.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/pattern-layout.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/performance.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/plugins.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/scripts.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/simple-logger.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/status-logger.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/systemproperties.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/thread-context.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-log4j1.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-logback.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-slf4j.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/plugin-reference.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/release-notes.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/soa.html</loc>
-<lastmod>2025-03-21T08:27:54.426Z</lastmod>
+<lastmod>2025-03-21T11:38:10.200Z</lastmod>
 </url>
 </urlset>


Reply via email to