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 51afbbbffc Add website content generated from 
`ba0ecf8e0641c1ed068e781901a624ae4f5d085a`
51afbbbffc is described below

commit 51afbbbffc35541942959ecacadcad940c67db74
Author: ASF Logging Services RM <[email protected]>
AuthorDate: Thu May 15 14:08:44 2025 +0000

    Add website content generated from 
`ba0ecf8e0641c1ed068e781901a624ae4f5d085a`
---
 ...ag-01168003b98f120d2f0736e5172de8e1218f189e.svg |   1 -
 ...ag-0c23746e246efa4a462049e2adc4b0349185aa77.svg |   1 -
 ...ag-2158b7cc88b372c32a9592f8cdbc1cc926bb8b80.svg |   1 -
 ...ag-232cdf1d44336897239fa03f6521cc730f38f32d.svg |   1 -
 ...ag-35cc4e8101ffe76d0edc44ed334a6273018dc51b.svg |   1 -
 ...ag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg |   1 -
 ...ag-4d55aeb99a0ae8707b4121b1f76e9544af16b3c4.svg |   1 -
 ...ag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg |   1 -
 ...ag-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg |   1 -
 ...ag-5c97f284d82478c0499cab16fe90893de781b11f.svg |   1 -
 ...ag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg |   1 -
 ...ag-63d449f3bcd24cfa522a41f6e2f545416de30322.svg |   1 -
 ...ag-73365a4d8197b5441a98fd1d661b07760da178be.svg |   1 -
 ...ag-768e5e02508ea736d8901892b519a6d3a7a770ab.svg |   1 -
 ...ag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg |   1 -
 ...ag-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg |   1 -
 ...ag-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg |   1 -
 ...ag-a15d9b3aaacbf863f81fe0dcb0ed21346b6c46ed.svg |   1 -
 ...ag-a51b68065f249459078382aa4c61888857f01b2c.svg |   1 -
 ...ag-d5122741a680d765fa3170a444015b615a1fdafd.svg |   1 -
 ...ag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg |   1 -
 graalvm.html                                       |  58 ++-
 hibernate.html                                     |  58 ++-
 log4j-jul.html                                     |  58 ++-
 manual/appenders/rolling-file.html                 | 134 ++++-
 manual/architecture.html                           | 554 +++++++++++++++++++--
 manual/filters.html                                |  97 +++-
 manual/installation.html                           |  58 ++-
 manual/lookups.html                                |  28 +-
 migrate-from-logback.html                          |  58 ++-
 migrate-from-slf4j.html                            |  58 ++-
 plugin-reference.html                              |  78 +--
 release-notes.html                                 |   2 +-
 sitemap.xml                                        | 118 ++---
 34 files changed, 1185 insertions(+), 195 deletions(-)

diff --git a/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg 
b/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg
deleted file mode 100644
index ee9dca5100..0000000000
--- a/_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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-0c23746e246efa4a462049e2adc4b0349185aa77.svg 
b/_images/diag-0c23746e246efa4a462049e2adc4b0349185aa77.svg
deleted file mode 100644
index 4c2dd6a5f5..0000000000
--- a/_images/diag-0c23746e246efa4a462049e2adc4b0349185aa77.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="405px" preserveAspectRatio="none" 
style="width:390px;height:405px;background:#FFFFFF;" version="1.1" viewBox="0 0 
390 405" width="390px" zoomAndPan="magnify"><defs/><g><ellipse cx="210" cy="20" 
fill="#222222" rx="10" ry="10" style="stroke:#222222;stroke-width:1.0;"/><rect 
fill="#F1F1F1" height="33.9688" rx="12.5" r [...]
\ No newline at end of file
diff --git a/_images/diag-2158b7cc88b372c32a9592f8cdbc1cc926bb8b80.svg 
b/_images/diag-2158b7cc88b372c32a9592f8cdbc1cc926bb8b80.svg
deleted file mode 100644
index ebf1b851eb..0000000000
--- a/_images/diag-2158b7cc88b372c32a9592f8cdbc1cc926bb8b80.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="417px" preserveAspectRatio="none" 
style="width:442px;height:417px;background:#FFFFFF;" version="1.1" viewBox="0 0 
442 417" width="442px" zoomAndPan="magnify"><defs/><g><ellipse cx="215.75" 
cy="20" fill="#222222" rx="10" ry="10" 
style="stroke:#222222;stroke-width:1.0;"/><rect fill="none" height="270.3628" 
style="str [...]
\ No newline at end of file
diff --git a/_images/diag-232cdf1d44336897239fa03f6521cc730f38f32d.svg 
b/_images/diag-232cdf1d44336897239fa03f6521cc730f38f32d.svg
deleted file mode 100644
index 253990d3c1..0000000000
--- a/_images/diag-232cdf1d44336897239fa03f6521cc730f38f32d.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="218px" preserveAspectRatio="none" 
style="width:197px;height:218px;background:#FFFFFF;" version="1.1" viewBox="0 0 
197 218" width="197px" zoomAndPan="magnify"><defs/><g><!--class Appender--><g 
id="elem_Appender"><rect codeLine="1" fill="#F1F1F1" height="80.5938" 
id="Appender" rx="2.5" ry="2.5" style="stroke:#181818; [...]
\ No newline at end of file
diff --git a/_images/diag-35cc4e8101ffe76d0edc44ed334a6273018dc51b.svg 
b/_images/diag-35cc4e8101ffe76d0edc44ed334a6273018dc51b.svg
deleted file mode 100644
index 881ad85f71..0000000000
--- a/_images/diag-35cc4e8101ffe76d0edc44ed334a6273018dc51b.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="226px" preserveAspectRatio="none" 
style="width:771px;height:226px;background:#FFFFFF;" version="1.1" viewBox="0 0 
771 226" width="771px" zoomAndPan="magnify"><defs/><g><!--class initial--><g 
id="elem_initial"><rect codeLine="1" fill="#F1F1F1" height="64.2969" 
id="initial" rx="2.5" ry="2.5" style="stroke:#181818;str [...]
\ No newline at end of file
diff --git a/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg 
b/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg
deleted file mode 100644
index 19bc3dd128..0000000000
--- a/_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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-4d55aeb99a0ae8707b4121b1f76e9544af16b3c4.svg 
b/_images/diag-4d55aeb99a0ae8707b4121b1f76e9544af16b3c4.svg
deleted file mode 100644
index 230ea88820..0000000000
--- a/_images/diag-4d55aeb99a0ae8707b4121b1f76e9544af16b3c4.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="424px" preserveAspectRatio="none" 
style="width:281px;height:424px;background:#FFFFFF;" version="1.1" viewBox="0 0 
281 424" width="281px" zoomAndPan="magnify"><defs/><g><ellipse cx="128.5" 
cy="20" fill="#222222" rx="10" ry="10" 
style="stroke:#222222;stroke-width:1.0;"/><rect fill="#F1F1F1" height="33.9688" 
rx="12.5" [...]
\ No newline at end of file
diff --git a/_images/diag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg 
b/_images/diag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg
deleted file mode 100644
index 13bad114d3..0000000000
--- a/_images/diag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="614px" preserveAspectRatio="none" 
style="width:551px;height:614px;background:#FFFFFF;" version="1.1" viewBox="0 0 
551 614" width="551px" 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-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg 
b/_images/diag-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg
deleted file mode 100644
index cf669cbdd8..0000000000
--- a/_images/diag-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="134px" preserveAspectRatio="none" 
style="width:615px;height:134px;background:#FFFFFF;" version="1.1" viewBox="0 0 
615 134" width="615px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" 
height="36.2969" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:1.5;" 
width="48" x="10" y="48.1484"/><text fill="#00000 [...]
\ No newline at end of file
diff --git a/_images/diag-5c97f284d82478c0499cab16fe90893de781b11f.svg 
b/_images/diag-5c97f284d82478c0499cab16fe90893de781b11f.svg
deleted file mode 100644
index 0460e96382..0000000000
--- a/_images/diag-5c97f284d82478c0499cab16fe90893de781b11f.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="408px" preserveAspectRatio="none" 
style="width:325px;height:408px;background:#FFFFFF;" version="1.1" viewBox="0 0 
325 408" width="325px" zoomAndPan="magnify"><defs/><g><!--class 
StrSubstitutor--><g id="elem_StrSubstitutor"><rect codeLine="1" fill="#F1F1F1" 
height="96.8906" id="StrSubstitutor" rx="2.5" ry="2.5" styl [...]
\ No newline at end of file
diff --git a/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg 
b/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg
deleted file mode 100644
index ea30fa85b9..0000000000
--- a/_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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-63d449f3bcd24cfa522a41f6e2f545416de30322.svg 
b/_images/diag-63d449f3bcd24cfa522a41f6e2f545416de30322.svg
deleted file mode 100644
index 407cf3e990..0000000000
--- a/_images/diag-63d449f3bcd24cfa522a41f6e2f545416de30322.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="754px" preserveAspectRatio="none" 
style="width:549px;height:754px;background:#FFFFFF;" version="1.1" viewBox="0 0 
549 754" width="549px" 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-73365a4d8197b5441a98fd1d661b07760da178be.svg 
b/_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg
deleted file mode 100644
index c9b6b7b12e..0000000000
--- a/_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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-768e5e02508ea736d8901892b519a6d3a7a770ab.svg 
b/_images/diag-768e5e02508ea736d8901892b519a6d3a7a770ab.svg
deleted file mode 100644
index 1e0909caa2..0000000000
--- a/_images/diag-768e5e02508ea736d8901892b519a6d3a7a770ab.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="143px" preserveAspectRatio="none" 
style="width:771px;height:143px;background:#FFFFFF;" version="1.1" viewBox="0 0 
771 143" width="771px" zoomAndPan="magnify"><defs/><g><!--class initial--><g 
id="elem_initial"><rect codeLine="1" fill="#F1F1F1" height="64.2969" 
id="initial" rx="2.5" ry="2.5" style="stroke:#181818;str [...]
\ No newline at end of file
diff --git a/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg 
b/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg
deleted file mode 100644
index d9566cac31..0000000000
--- a/_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg 
b/_images/diag-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg
deleted file mode 100644
index d6568aec0a..0000000000
--- a/_images/diag-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="548px" preserveAspectRatio="none" 
style="width:330px;height:548px;background:#FFFFFF;" version="1.1" viewBox="0 0 
330 548" width="330px" 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-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg 
b/_images/diag-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg
deleted file mode 100644
index cbe9bce8db..0000000000
--- a/_images/diag-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="134px" preserveAspectRatio="none" 
style="width:347px;height:134px;background:#FFFFFF;" version="1.1" viewBox="0 0 
347 134" width="347px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" 
height="36.2969" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:1.5;" 
width="48" x="10" y="48.1484"/><text fill="#00000 [...]
\ No newline at end of file
diff --git a/_images/diag-a15d9b3aaacbf863f81fe0dcb0ed21346b6c46ed.svg 
b/_images/diag-a15d9b3aaacbf863f81fe0dcb0ed21346b6c46ed.svg
deleted file mode 100644
index 673dd699c8..0000000000
--- a/_images/diag-a15d9b3aaacbf863f81fe0dcb0ed21346b6c46ed.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="275px" preserveAspectRatio="none" 
style="width:281px;height:275px;background:#FFFFFF;" version="1.1" viewBox="0 0 
281 275" width="281px" zoomAndPan="magnify"><defs/><g><ellipse cx="137.5" 
cy="20" fill="#222222" rx="10" ry="10" 
style="stroke:#222222;stroke-width:1.0;"/><rect fill="#F1F1F1" height="33.9688" 
rx="12.5" [...]
\ No newline at end of file
diff --git a/_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg 
b/_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg
deleted file mode 100644
index c66f60d264..0000000000
--- a/_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="905px" preserveAspectRatio="none" 
style="width:1157px;height:905px;background:#FFFFFF;" version="1.1" viewBox="0 
0 1157 905" width="1157px" zoomAndPan="magnify"><defs/><g><rect fill="#DDDDDD" 
height="104.7969" id="_legend" rx="7.5" ry="7.5" 
style="stroke:#000000;stroke-width:1.0;" width="207" x="924" y="12"/><rect  
[...]
\ No newline at end of file
diff --git a/_images/diag-d5122741a680d765fa3170a444015b615a1fdafd.svg 
b/_images/diag-d5122741a680d765fa3170a444015b615a1fdafd.svg
deleted file mode 100644
index 7d4b4be182..0000000000
--- a/_images/diag-d5122741a680d765fa3170a444015b615a1fdafd.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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="226px" preserveAspectRatio="none" 
style="width:771px;height:226px;background:#FFFFFF;" version="1.1" viewBox="0 0 
771 226" width="771px" zoomAndPan="magnify"><defs/><g><!--class initial--><g 
id="elem_initial"><rect codeLine="1" fill="#F1F1F1" height="64.2969" 
id="initial" rx="2.5" ry="2.5" style="stroke:#181818;str [...]
\ No newline at end of file
diff --git a/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg 
b/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg
deleted file mode 100644
index dcd88d33a2..0000000000
--- a/_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?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 fc53b77b72..1b404f69bf 100644
--- a/graalvm.html
+++ b/graalvm.html
@@ -406,11 +406,63 @@ 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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </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 ebe21251e6..86286f41f8 100644
--- a/hibernate.html
+++ b/hibernate.html
@@ -395,11 +395,63 @@ 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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </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 dd94fea6ee..8d1cc8d62f 100644
--- a/log4j-jul.html
+++ b/log4j-jul.html
@@ -418,11 +418,63 @@ 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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </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/appenders/rolling-file.html 
b/manual/appenders/rolling-file.html
index 30d698fd0d..21e023c571 100644
--- a/manual/appenders/rolling-file.html
+++ b/manual/appenders/rolling-file.html
@@ -1609,9 +1609,50 @@ It is <strong>not</strong> the default strategy of Log4j 
2.</p>
 <div class="paragraph">
 <p>Assuming <code>min="1"</code> and <code>max="3"</code> the rotation of the 
log files is represented in the graph below:</p>
 </div>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../../_images/diag-d5122741a680d765fa3170a444015b615a1fdafd.svg" 
alt="Diagram">
+<pre>@startuml
+class "Initial status" as initial {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+}
+class "1st rollover" as first {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+}
+class "2nd rollover" as second {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+}
+class "3rd rollover" as third {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+}
+class "4th rollover" as fourth {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+}
+
+object "Delete file" as delete
+
+initial::app.log -&gt; first::app.1.log
+
+first::app.log -&gt; second::app.1.log
+first::app.1.log -&gt; second::app.2.log
+
+second::app.log -&gt; third::app.1.log
+second::app.1.log -&gt; third::app.2.log
+second::app.2.log -&gt; third::app.3.log
+
+third::app.log -&gt; fourth::app.1.log
+third::app.1.log -&gt; fourth::app.2.log
+third::app.2.log -&gt; fourth::app.3.log
+third::app.3.log -[#red]-&gt; delete
+@enduml</pre>
 </div>
 </div>
 </dd>
@@ -1639,9 +1680,50 @@ It is <strong>not</strong> the default strategy of Log4j 
2.</p>
 <div class="paragraph">
 <p>Assuming <code>min="1"</code> and <code>max="3"</code> the rotation of the 
log files is represented in the graph below:</p>
 </div>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../../_images/diag-35cc4e8101ffe76d0edc44ed334a6273018dc51b.svg" 
alt="Diagram">
+<pre>@startuml
+class "Initial status" as initial {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+}
+class "1st rollover" as first {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+}
+class "2nd rollover" as second {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+}
+class "3rd rollover" as third {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+}
+class "4th rollover" as fourth {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+}
+
+object "Delete file" as delete
+
+initial::app.log -&gt; first::app.1.log
+
+first::app.log -&gt; second::app.2.log
+first::app.1.log -&gt; second::app.1.log
+
+second::app.log -&gt; third::app.3.log
+second::app.1.log -&gt; third::app.1.log
+second::app.2.log -&gt; third::app.2.log
+
+third::app.log -&gt; fourth::app.3.log
+third::app.1.log -[#red]-&gt; delete
+third::app.2.log -&gt; fourth::app.1.log
+third::app.3.log -&gt; fourth::app.2.log
+@enduml</pre>
 </div>
 </div>
 </dd>
@@ -1654,9 +1736,49 @@ It is <strong>not</strong> the default strategy of Log4j 
2.</p>
 <div class="paragraph">
 <p>Using the <code>nomax</code> strategy no files will ever be deleted and 
newer archive files will be assigned increasing index numbers, starting from 
<code>min</code>.</p>
 </div>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../../_images/diag-768e5e02508ea736d8901892b519a6d3a7a770ab.svg" 
alt="Diagram">
+<pre>@startuml
+class "Initial status" as initial {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+}
+class "1st rollover" as first {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+}
+class "2nd rollover" as second {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+}
+class "3rd rollover" as third {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+}
+class "4th rollover" as fourth {
+  &lt;color:green&gt;app.log&lt;/color&gt;
+  app.1.log
+  app.2.log
+  app.3.log
+  app.4.log
+}
+
+initial::app.log -&gt; first::app.1.log
+
+first::app.log -&gt; second::app.2.log
+first::app.1.log -&gt; second::app.1.log
+
+second::app.log -&gt; third::app.3.log
+second::app.1.log -&gt; third::app.1.log
+second::app.2.log -&gt; third::app.2.log
+
+third::app.log -&gt; fourth::app.4.log
+third::app.1.log -&gt; fourth::app.1.log
+third::app.2.log -&gt; fourth::app.2.log
+third::app.3.log -&gt; fourth::app.3.log
+@enduml</pre>
 </div>
 </div>
 </dd>
diff --git a/manual/architecture.html b/manual/architecture.html
index 5f925cdcfc..387727f264 100644
--- a/manual/architecture.html
+++ b/manual/architecture.html
@@ -359,11 +359,146 @@
 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="imageblock kroki">
+<div id="architecture-diagram" class="literalblock kroki-error">
+<div class="title">An overview of major classes and their relation</div>
 <div class="content">
-<img src="../_images/diag-3f8a04c810525cc09a5e7564abf3aa14ed1f7c81.svg" 
alt="An overview of major classes and their relation">
+<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>
 </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>
@@ -387,7 +522,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">Figure 1</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">An overview of major classes and their 
relation</a>.</p>
 </li>
 </ul>
 </div>
@@ -403,11 +538,35 @@ 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="imageblock kroki">
+<div id="LoggerContext-diagram" class="literalblock kroki-error">
+<div class="title"><code>LoggerContext</code> and other directly related 
classes</div>
 <div class="content">
-<img src="../_images/diag-fd71b342bbb89cd55a1ddb592976b9ac26b6348e.svg" 
alt="`LoggerContext` and other directly related classes">
+<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>
 </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>.
@@ -423,11 +582,58 @@ 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="imageblock kroki">
+<div id="Configuration-diagram" class="literalblock kroki-error">
+<div class="title"><code>Configuration</code> and other directly related 
classes</div>
 <div class="content">
-<img src="../_images/diag-5ffe377615be9b0375b26533bbf7b10507dc946b.svg" 
alt="`Configuration` and other directly related classes">
+<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>
 </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.
@@ -464,11 +670,41 @@ Threads that already started processing a log event will 
either:</p>
 </li>
 </ul>
 </div>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Overview of the reconfiguration process</div>
 <div class="content">
-<img src="../_images/diag-01168003b98f120d2f0736e5172de8e1218f189e.svg" 
alt="Overview of the reconfiguration process">
+<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>
 </div>
-<div class="title">Figure 4. Overview of the reconfiguration process</div>
 </div>
 </div>
 </div>
@@ -482,11 +718,35 @@ 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="imageblock kroki">
+<div id="Logger-diagram" class="literalblock kroki-error">
+<div class="title"><code>Logger</code> and other directly related classes</div>
 <div class="content">
-<img src="../_images/diag-77a13b00749af95e3ed0eefd605a73f25d70973c.svg" 
alt="`Logger` and other directly related classes">
+<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>
 </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.
@@ -524,11 +784,59 @@ A <code>LoggerConfig</code> essentially contains</p>
 </li>
 </ul>
 </div>
-<div id="LoggerConfig-diagram" class="imageblock kroki">
+<div id="LoggerConfig-diagram" class="literalblock kroki-error">
+<div class="title"><code>LoggerConfig</code> and other directly related 
classes</div>
 <div class="content">
-<img src="../_images/diag-73365a4d8197b5441a98fd1d661b07760da178be.svg" 
alt="`LoggerConfig` and other directly related classes">
+<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>
 </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>
@@ -537,13 +845,19 @@ A <code>LoggerConfig</code> essentially contains</p>
 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 7</a> for an example.</p>
+See <a href="#logger-hiearchy-diagram">Example hierarchy of loggers named 
<code>X</code>, <code>X.Y</code>, <code>X.Y.Z</code>, and <code>X.YZ</code></a> 
for an example.</p>
 </div>
-<div id="logger-hiearchy-diagram" class="imageblock kroki">
+<div id="logger-hiearchy-diagram" class="literalblock kroki-error">
+<div class="title">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="content">
-<img src="../_images/diag-892fd9dbd9ea6bece55c1d4078ae1de2edd5c689.svg" 
alt="Example hierarchy of loggers named `X`, `X.Y`, `X.Y.Z`, and `X.YZ`">
+<pre>@startmindmap
+* root
+** X
+*** X.Y
+**** X.Y.Z
+*** X.YZ
+@endmindmap</pre>
 </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.
@@ -785,11 +1099,57 @@ That is, we will examine the effective level of a 
<code>Logger</code> in various
 <div class="paragraph">
 <p>In addition to <a href="#LoggerConfig">the level-based filtering 
facilitated by <code>LoggerConfig</code></a>, Log4j provides <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/Filter.html"><code>Filter</code></a>s
 to evaluate the parameters of a logging call (i.e., context-wide filter) or a 
log event, and decide if it should be processed further in the pipeline.</p>
 </div>
-<div id="Filter-diagram" class="imageblock kroki">
+<div id="Filter-diagram" class="literalblock kroki-error">
+<div class="title"><code>Filter</code> and other directly related classes</div>
 <div class="content">
-<img src="../_images/diag-581e854ee8ecdb00104bac5affda10a653d8f76d.svg" 
alt="`Filter` and other directly related classes">
+<pre>@startuml
+
+class Configuration {
+  Appender[] appenders
+  Filter filter
+  LoggerConfig[] loggerConfigs
+  LoggerConfig getLoggerConfig(String name)
+  StrSubstitutor substitutor
+}
+
+Configuration --&gt; Filter
+
+Configuration --&gt; "0..*" LoggerConfig
+
+class Filter #line.bold {
+  Result filter(LogEvent)
+}
+
+class LoggerConfig {
+  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 {
+  Filter filter
+}
+
+AppenderRef --&gt; Filter
+
+AppenderControl --&gt; Filter
+
+@enduml</pre>
 </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>
@@ -804,11 +1164,74 @@ That is, we will examine the effective level of a 
<code>Logger</code> in various
 While doing so, they typically use <a href="#Layout"><code>Layout</code></a>s 
to encode the log event.
 See <a href="appenders.html" class="xref page">Appenders</a> for the complete 
guide.</p>
 </div>
-<div id="Appender-diagram" class="imageblock kroki">
+<div id="Appender-diagram" class="literalblock kroki-error">
+<div class="title"><code>Appender</code> and other directly related 
classes</div>
 <div class="content">
-<img src="../_images/diag-63d449f3bcd24cfa522a41f6e2f545416de30322.svg" 
alt="`Appender` and other directly related classes">
+<pre>@startuml
+
+class Configuration {
+  Appender[] appenders
+  Filter filter
+  LoggerConfig[] loggerConfigs
+  LoggerConfig getLoggerConfig(String name)
+  StrSubstitutor substitutor
+}
+
+Configuration --&gt; "0..*" Filter
+
+Configuration --&gt; "0..*" Appender
+
+Configuration --&gt; "0..*" LoggerConfig
+
+class Appender #line.bold {
+  Layout layout
+  void append(LogEvent)
+}
+
+Appender -[#green,thickness=6]-&gt; Layout
+
+class Layout {
+  byte[] encode(LogEvent)
+}
+
+class Filter {
+  Result filter(LogEvent)
+}
+
+class LoggerConfig {
+  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
+}
+
+AppenderRef --&gt; Filter
+
+class AppenderControl {
+  Appender appender
+  Filter filter
+  void append(LogEvent)
+}
+
+AppenderControl -[#green,thickness=6]-&gt; Appender
+
+AppenderControl --&gt; Filter
+
+@enduml</pre>
 </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>.
@@ -831,17 +1254,25 @@ However, if an ancestor of the <code>LoggerConfig</code> 
associated with <code>L
 <details>
 <summary class="title">Click for an example on appender additivity</summary>
 <div class="content">
-<div id="appender-additivity-diagram" class="imageblock kroki">
+<div id="appender-additivity-diagram" class="literalblock kroki-error">
+<div class="title">Example hierarchy of logger configurations to demonstrate 
appender additivity</div>
 <div class="content">
-<img src="../_images/diag-58c484caf8cd616db4f1c7ed31b51c123b5859d4.svg" 
alt="Example hierarchy of logger configurations to demonstrate appender 
additivity">
+<pre>@startmindmap
+* root
+** A
+*** A.B1 (additivity=false)
+**** A.B1.C
+***** A.B1.C.D
+*** A.B2.C
+**** A.B2.C.D (additivity=false)
+@endmindmap</pre>
 </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 10</a>, the effective 
appenders for each logger configuration are as follows:</p>
+<p>In <a href="#appender-additivity-diagram">Example hierarchy of logger 
configurations to demonstrate appender additivity</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 10</a></caption>
+<caption class="title">Table 6. Effective appenders of logger configurations 
in <a href="#appender-additivity-diagram">Example hierarchy of logger 
configurations to demonstrate appender additivity</a></caption>
 <colgroup>
 <col style="width: 14.2857%;">
 <col style="width: 14.2857%;">
@@ -973,11 +1404,24 @@ Since during a <a 
href="#reconfiguration">reconfiguration event</a> multiple ins
 <div class="paragraph">
 <p>An <a href="#Appender"><code>Appender</code></a> uses a 
<strong>layout</strong> to encode a <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html"><code>LogEvent</code></a>
 into a form that meets the needs of whatever will be consuming the log 
event.</p>
 </div>
-<div id="Layout-diagram" class="imageblock kroki">
+<div id="Layout-diagram" class="literalblock kroki-error">
+<div class="title"><code>Layout</code> and other directly related classes</div>
 <div class="content">
-<img src="../_images/diag-232cdf1d44336897239fa03f6521cc730f38f32d.svg" 
alt="`Layout` and other directly related classes">
+<pre>@startuml
+
+class Appender {
+  Layout layout
+  void append(LogEvent)
+}
+
+Appender -[#green,thickness=6]-&gt; Layout
+
+class Layout #line.bold {
+  byte[] encode(LogEvent)
+}
+
+@enduml</pre>
 </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>
@@ -992,11 +1436,41 @@ Since during a <a 
href="#reconfiguration">reconfiguration event</a> multiple ins
 It accepts an <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/lookup/Interpolator.html"><code>Interpolator</code></a>
 to determine if a key maps to a certain value.
 <code>Interpolator</code> is essentially a facade delegating to multiple <a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/lookup/StrLookup.html"><code>StrLookup</code></a>
 (aka. <em>lookup</em>) implementations.</p>
 </div>
-<div id="StrSubstitutor-diagram" class="imageblock kroki">
+<div id="StrSubstitutor-diagram" class="literalblock kroki-error">
+<div class="title"><code>StrSubstitutor</code> et al. and other directly 
related classes</div>
 <div class="content">
-<img src="../_images/diag-7a08e5a79432e9299cc0d9671bd39677be5618e8.svg" 
alt="`StrSubstitutor` et al. and other directly related classes">
+<pre>@startuml
+
+class Configuration {
+  Appender[] appenders
+  Filter[] filters
+  LoggerConfig[] loggerConfigs
+  LoggerConfig getLoggerConfig(String name)
+  StrSubstitutor substitutor
+}
+
+Configuration --&gt; StrSubstitutor
+
+class StrSubstitutor #line.bold {
+  Interpolator interpolator
+  String replace(String input)
+}
+
+StrSubstitutor --&gt; Interpolator
+
+class Interpolator {
+  StrLookup[] lookups
+  String lookup(String input)
+}
+
+Interpolator --&gt; "0..*" StrLookup
+
+class StrLookup {
+  String lookup(String input)
+}
+
+@enduml</pre>
 </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/manual/filters.html b/manual/filters.html
index 2fdace19a0..38202c1f19 100644
--- a/manual/filters.html
+++ b/manual/filters.html
@@ -452,9 +452,31 @@ e.g., log event creation, population of context data, 
formatting, transfer throu
 </div>
 <div class="sect2">
 <h3 id="logger-stage"><a class="anchor" href="#logger-stage"></a>1. 
<code>Logger</code> stage</h3>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../_images/diag-2158b7cc88b372c32a9592f8cdbc1cc926bb8b80.svg" 
alt="Diagram">
+<pre>@startuml
+start
+group Logger
+
+:A Logger method;
+
+switch (Apply global filter)
+case (DENY)
+    #pink:Discard;
+    detach
+case (ACCEPT)
+case (NEUTRAL)
+    if (Is less severe than logger level?) then (yes)
+        #pink:Discard;
+        detach
+    else (no)
+        ' The label improves spacing
+        label a1
+    endif
+endswitch
+end group
+:Create LogEvent;
+stop</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -526,9 +548,29 @@ or
 </div>
 <div class="sect2">
 <h3 id="logger-config-stage"><a class="anchor" 
href="#logger-config-stage"></a>2. <code>LoggerConfig</code> stage</h3>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../_images/diag-4d55aeb99a0ae8707b4121b1f76e9544af16b3c4.svg" 
alt="Diagram">
+<pre>@startuml
+start
+:LogEvent;
+
+group LoggerConfig
+repeat
+
+:LoggerConfig#log();
+
+if (Apply logger filter) then (DENY)
+    #pink:Discard;
+    detach
+else (not DENY)
+    ' The label improves spacing
+    label a1
+endif
+repeat while (Go to parent logger?) is (yes)
+-&gt; no;
+end group
+stop
+@enduml</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -543,9 +585,33 @@ until it reaches the logger that references the chosen 
appender.</p>
 </div>
 <div class="sect2">
 <h3 id="appender-control-stage"><a class="anchor" 
href="#appender-control-stage"></a>3. <code>AppenderControl</code> stage</h3>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../_images/diag-0c23746e246efa4a462049e2adc4b0349185aa77.svg" 
alt="Diagram">
+<pre>@startuml
+start
+:LogEvent;
+
+group AppenderControl
+
+:AppenderControl#callAppender();
+
+if (Is less severe then appender reference level?) then (yes)
+    #pink:Discard;
+    detach
+else (no)
+    ' The label improves spacing
+    label a2
+endif
+if (Apply appender reference filter) then (DENY)
+    #pink:Discard;
+    detach
+else (not DENY)
+    ' The label improves spacing
+    label a1
+endif
+end group
+stop
+@enduml</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -566,9 +632,24 @@ of the appender reference.</p>
 </div>
 <div class="sect2">
 <h3 id="appender-stage"><a class="anchor" href="#appender-stage"></a>4. 
<code>Appender</code> stage (optional)</h3>
-<div class="imageblock kroki">
+<div class="literalblock kroki-error">
 <div class="content">
-<img src="../_images/diag-a15d9b3aaacbf863f81fe0dcb0ed21346b6c46ed.svg" 
alt="Diagram">
+<pre>@startuml
+start
+:LogEvent;
+
+group Appender
+
+if (Apply appender filter) then (DENY)
+    #pink:Discard;
+    detach
+else (not DENY)
+    ' The label improves spacing
+    label a1
+endif
+end group
+#palegreen:Appender#append();
+@enduml</pre>
 </div>
 </div>
 <div class="paragraph">
diff --git a/manual/installation.html b/manual/installation.html
index 5e2b9c4e1b..b38a8297fb 100644
--- a/manual/installation.html
+++ b/manual/installation.html
@@ -460,11 +460,63 @@ In this case, you need to install <code>log4j-core</code> 
and <code>log4j-slf4j2
 <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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="../_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </div>
-<div class="title">Figure 1. Visualization of a typical Log4j Core 
installation with SLF4J, JUL, and JPL bridges</div>
 </div>
 </div>
 </div>
diff --git a/manual/lookups.html b/manual/lookups.html
index 161df624e9..fca29db0ff 100644
--- a/manual/lookups.html
+++ b/manual/lookups.html
@@ -358,11 +358,33 @@
 <div class="paragraph">
 <p>Log4j Core provides a flexible and extensible property substitution 
system.</p>
 </div>
-<div id="StrSubstitutor-diagram" class="imageblock kroki">
+<div id="StrSubstitutor-diagram" class="literalblock kroki-error">
+<div class="title">Property substitution system</div>
 <div class="content">
-<img src="../_images/diag-5c97f284d82478c0499cab16fe90893de781b11f.svg" 
alt="Property substitution system">
+<pre>@startuml
+class StrSubstitutor #line.bold {
+  Interpolator interpolator
+  String replace(String input)
+  String replace(LogEvent event, String input)
+}
+
+StrSubstitutor --&gt; Interpolator
+
+class Interpolator {
+  StrLookup[] lookups
+  String lookup(String key)
+  String lookup(LogEvent event, String key)
+}
+
+Interpolator --&gt; "0..*" StrLookup
+
+class StrLookup {
+  String lookup(String input)
+  String lookup(LogEvent event, String key)
+}
+
+@enduml</pre>
 </div>
-<div class="title">Figure 1. Property substitution system</div>
 </div>
 <div class="paragraph">
 <p>The property substitution system is composed of these elements:</p>
diff --git a/migrate-from-logback.html b/migrate-from-logback.html
index bec2e787fa..c7aa37da98 100644
--- a/migrate-from-logback.html
+++ b/migrate-from-logback.html
@@ -409,11 +409,63 @@ 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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </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 84fc927277..58d0c5f6df 100644
--- a/migrate-from-slf4j.html
+++ b/migrate-from-slf4j.html
@@ -409,11 +409,63 @@ 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="imageblock kroki">
+<div class="literalblock kroki-error">
+<div class="title">Visualization of a typical Log4j Core installation with 
SLF4J, JUL, and JPL bridges</div>
 <div class="content">
-<img src="_images/diag-a51b68065f249459078382aa4c61888857f01b2c.svg" 
alt="Visualization of a typical Log4j Core installation with SLF4J, JUL, and 
JPL bridges">
+<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>
 </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 1184bddffd..a8a66c4843 100644
--- a/plugin-reference.html
+++ b/plugin-reference.html
@@ -1477,7 +1477,7 @@ Originally developed by Ceki Glc and Anders 
Kristensen.</p>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>header</code></p></td>
-<td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>String?</code></p></td>
+<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></td>
 </tr>
@@ -7435,7 +7435,7 @@ Configurations set up for the 2.0 version of the JMS 
appenders will still work.<
 <tbody>
 <tr>
 <td class="tableblock halign-left valign-top"></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider">NoSqlProvider</a>?</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider">NoSqlProvider</a>?</code></p></td>
 <td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
 <p>Sets the provider.</p>
 </div></div></td>
@@ -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>
@@ -23595,6 +23595,37 @@ toString(), or to output the value of a specific key 
within the property bundle
 <div class="sect2">
 <h3 id="org-apache-logging-log4j_log4j-mongodb"><a class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb"></a><code>log4j-mongodb</code></h3>
 <div class="sect3">
+<h4 
id="org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider"></a><code>NoSqlProvider</code></h4>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Class</dt>
+<dd>
+<p><code>org.apache.logging.log4j.core.appender.nosql.NoSqlProvider</code></p>
+</dd>
+<dt class="hdlist1">Provider</dt>
+<dd>
+<p><code>org.apache.logging.log4j:log4j-mongodb</code></p>
+</dd>
+</dl>
+</div>
+<div class="sect4">
+<h5 
id="org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider_implementations"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider_implementations"></a>Known
 implementations</h5>
+<div class="ulist">
+<ul>
+<li>
+<p><a 
href="#org-apache-logging-log4j_log4j-couchdb_org-apache-logging-log4j-couchdb-CouchDbProvider">CouchDbProvider</a></p>
+</li>
+<li>
+<p><a 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-mongodb-MongoDbProvider">MongoDbProvider</a></p>
+</li>
+<li>
+<p><a 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-mongodb4-MongoDb4Provider">MongoDb4Provider</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect3">
 <h4 
id="org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-mongodb-MongoDbProvider"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-mongodb-MongoDbProvider"></a>MongoDb</h4>
 <div class="dlist">
 <dl>
@@ -23717,37 +23748,6 @@ toString(), or to output the value of a specific key 
within the property bundle
 <div class="sect2">
 <h3 id="org-apache-logging-log4j_log4j-mongodb4"><a class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb4"></a><code>log4j-mongodb4</code></h3>
 <div class="sect3">
-<h4 
id="org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider"></a><code>NoSqlProvider</code></h4>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Class</dt>
-<dd>
-<p><code>org.apache.logging.log4j.core.appender.nosql.NoSqlProvider</code></p>
-</dd>
-<dt class="hdlist1">Provider</dt>
-<dd>
-<p><code>org.apache.logging.log4j:log4j-mongodb4</code></p>
-</dd>
-</dl>
-</div>
-<div class="sect4">
-<h5 
id="org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider_implementations"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-core-appender-nosql-NoSqlProvider_implementations"></a>Known
 implementations</h5>
-<div class="ulist">
-<ul>
-<li>
-<p><a 
href="#org-apache-logging-log4j_log4j-couchdb_org-apache-logging-log4j-couchdb-CouchDbProvider">CouchDbProvider</a></p>
-</li>
-<li>
-<p><a 
href="#org-apache-logging-log4j_log4j-mongodb_org-apache-logging-log4j-mongodb-MongoDbProvider">MongoDbProvider</a></p>
-</li>
-<li>
-<p><a 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-mongodb4-MongoDb4Provider">MongoDb4Provider</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect3">
 <h4 
id="org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-mongodb4-MongoDb4Provider"><a
 class="anchor" 
href="#org-apache-logging-log4j_log4j-mongodb4_org-apache-logging-log4j-mongodb4-MongoDb4Provider"></a>MongoDb4</h4>
 <div class="dlist">
 <dl>
diff --git a/release-notes.html b/release-notes.html
index e0f3e6f677..93751fcc44 100644
--- a/release-notes.html
+++ b/release-notes.html
@@ -623,7 +623,7 @@ See <a href="manual/pattern-layout.html#jansi" class="xref 
page">ANSI styling on
 <p>Update <code>com.github.jnr:jnr-ffi</code> to version <code>2.2.17</code> 
(<a href="https://github.com/apache/logging-log4j2/pull/3082";>3082</a>)</p>
 </li>
 <li>
-<p>Update <code>com.github.luben:zstd-jni</code> to version 
<code>1.5.7-1</code> (<a 
href="https://github.com/apache/logging-log4j2/pull/3479";>3479</a>)</p>
+<p>Update <code>com.github.luben:zstd-jni</code> to version 
<code>1.5.7-3</code> (<a 
href="https://github.com/apache/logging-log4j2/pull/3646";>3646</a>)</p>
 </li>
 <li>
 <p>Update <code>com.github.spotbugs:spotbugs-annotations</code> to version 
<code>4.9.3</code> (<a 
href="https://github.com/apache/logging-log4j2/pull/3545";>3545</a>)</p>
diff --git a/sitemap.xml b/sitemap.xml
index 0ad827d0a5..2fdf0b416e 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-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/development.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/download.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/faq.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/graalvm.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/hibernate.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/index.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/jakarta.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/javadoc.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-iostreams.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-jul.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-spring-boot.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/log4j-to-jul.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/api.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/database.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/delegating.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/file.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/message-queue.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/appenders/network.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/appenders/rolling-file.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/architecture.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/async.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/compatibility.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/config-intro.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/configuration.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/customconfig.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/customloglevels.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/eventlogging.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/extending.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/filters.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/flowtracing.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/garbagefree.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/getting-started.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/implementation.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/index.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/installation.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/jmx.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/2.x/manual/json-template-layout.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/layouts.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/logbuilder.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/lookups.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/markers.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/messages.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/pattern-layout.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/performance.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/plugins.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/scripts.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/simple-logger.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/status-logger.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/systemproperties.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/manual/thread-context.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-log4j1.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-logback.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/migrate-from-slf4j.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/plugin-reference.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/release-notes.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/2.x/soa.html</loc>
-<lastmod>2025-05-08T14:57:40.973Z</lastmod>
+<lastmod>2025-05-15T14:08:16.270Z</lastmod>
 </url>
 </urlset>

Reply via email to