You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2025/12/31 11:28:48 UTC

(logging-site) branch main-site-stg-out updated: Remove non-`content` files

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

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


The following commit(s) were added to refs/heads/main-site-stg-out by this push:
     new b2bcc8e3 Remove non-`content` files
b2bcc8e3 is described below

commit b2bcc8e390cd6d1b15b4ae28ca7d034b7ccc4767
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Wed Dec 31 12:28:23 2025 +0100

    Remove non-`content` files
---
 404.html                                           |  103 --
 _/css/site.css                                     |    3 -
 _/css/vendor/tabs.css                              |  110 --
 _/font/roboto-cyrillic-400-italic.woff2            |  Bin 10292 -> 0 bytes
 _/font/roboto-cyrillic-400-normal.woff2            |  Bin 9628 -> 0 bytes
 _/font/roboto-cyrillic-500-italic.woff2            |  Bin 10640 -> 0 bytes
 _/font/roboto-cyrillic-500-normal.woff2            |  Bin 9840 -> 0 bytes
 _/font/roboto-latin-400-italic.woff                |  Bin 22048 -> 0 bytes
 _/font/roboto-latin-400-italic.woff2               |  Bin 17368 -> 0 bytes
 _/font/roboto-latin-400-normal.woff                |  Bin 20344 -> 0 bytes
 _/font/roboto-latin-400-normal.woff2               |  Bin 15744 -> 0 bytes
 _/font/roboto-latin-500-italic.woff                |  Bin 22092 -> 0 bytes
 _/font/roboto-latin-500-italic.woff2               |  Bin 17336 -> 0 bytes
 _/font/roboto-latin-500-normal.woff                |  Bin 20544 -> 0 bytes
 _/font/roboto-latin-500-normal.woff2               |  Bin 15920 -> 0 bytes
 _/font/roboto-mono-latin-400-normal.woff           |  Bin 15160 -> 0 bytes
 _/font/roboto-mono-latin-400-normal.woff2          |  Bin 12312 -> 0 bytes
 _/font/roboto-mono-latin-500-normal.woff           |  Bin 15364 -> 0 bytes
 _/font/roboto-mono-latin-500-normal.woff2          |  Bin 12532 -> 0 bytes
 _/img/back.svg                                     |    1 -
 _/img/caret.svg                                    |    1 -
 _/img/chevron.svg                                  |    1 -
 _/img/home-o.svg                                   |    1 -
 _/img/home.svg                                     |    1 -
 _/img/menu.svg                                     |    1 -
 _/img/octicons-16.svg                              |    1 -
 _/js/site.js                                       |    6 -
 _/js/vendor/highlight.js                           |    1 -
 _/js/vendor/tabs.js                                |  127 --
 _images/blog/love-the-vex.png                      |  Bin 211311 -> 0 bytes
 blog/20231117-flume-joins-logging-services.html    |  241 ----
 blog/20231128-new-pmc-member.html                  |  217 ----
 blog/20231202-apache-common-logging-1.3.0.html     |  314 -----
 blog/20231214-announcing-support-from-the-stf.html |  238 ----
 blog/20231218-20-years-of-innovation.html          |  238 ----
 ...20240725-Log4j-At-Community-Over-Code-2024.html |  178 ---
 blog/20240808-welcome-to-the-pmc-jan.html          |  211 ----
 blog/20240812-log4j-bug-bounty.html                |  192 ---
 blog/20250728-introduction-to-vex-files.html       |  381 ------
 blog/index.html                                    |  201 ----
 charter.html                                       |  234 ----
 cyclonedx/vdr.xml                                  |  641 ----------
 doaps/doap_Log4j.rdf                               |   44 -
 download.html                                      |  298 -----
 guidelines.html                                    |  188 ---
 index.html                                         |  266 ----
 processes.html                                     |  302 -----
 security.html                                      | 1268 --------------------
 sitemap.xml                                        |   83 --
 support.html                                       |  494 --------
 team-list.html                                     |  478 --------
 what-is-logging.html                               |  544 ---------
 xml/ns/index.html                                  |  383 ------
 xml/ns/log4j-changelog-0.1.0.xsd                   |   82 --
 xml/ns/log4j-changelog-0.1.1.xsd                   |   82 --
 xml/ns/log4j-changelog-0.1.2.xsd                   |   82 --
 xml/ns/log4j-changelog-0.1.3.xsd                   |   83 --
 xml/ns/log4j-changelog-0.2.0.xsd                   |   73 --
 xml/ns/log4j-changelog-0.xsd                       |   73 --
 xml/ns/log4j-config-2.23.1.xsd                     |  618 ----------
 xml/ns/log4j-config-2.xsd                          |  618 ----------
 xml/ns/log4j-config-3.0.0.xsd                      |  613 ----------
 xml/ns/log4j-config-3.xsd                          |  613 ----------
 xml/ns/log4j-plugins-0.1.0.xsd                     |  336 ------
 xml/ns/log4j-plugins-0.xsd                         |  336 ------
 65 files changed, 11600 deletions(-)

diff --git a/404.html b/404.html
deleted file mode 100644
index 780d614a..00000000
--- a/404.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Page Not Found :: Apache Logging Services</title>
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="/_/css/site.css">
-<link rel="icon" href="/_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="/_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="status-404">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container">
-  <aside class="nav">
-    <div class="panels">
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="/index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules//pages/">Edit this Page</a></div>
-</div>
-  <div class="content">
-<article class="doc">
-<h1 class="page">Page Not Found</h1>
-<div class="paragraph">
-<p>The page you&#8217;re looking for does not exist. It may have been moved. You can return to the <a href="/index.html">start page</a>, or follow one of the links in the navigation to the left.</p>
-</div>
-<div class="paragraph">
-<p>If you arrived on this page by clicking on a link, please notify the owner of the site that the link is broken.
-If you typed the URL of this page manually, please double check that you entered the address correctly.</p>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="/_/js/site.js" data-ui-root-path="/_"></script>
-<script async src="/_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="/_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/_/css/site.css b/_/css/site.css
deleted file mode 100644
index 63c0c7de..00000000
--- a/_/css/site.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(../font/roboto-latin-400-normal.woff2) format("woff2"),url(../font/roboto-latin-400-normal.woff) format("woff");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(../font/roboto-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-04 [...]
-
-/*! Adapted from the GitHub style by Vasily Polovnyov <va...@whiteants.net> */.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:600}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:600}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-wei [...]
\ No newline at end of file
diff --git a/_/css/vendor/tabs.css b/_/css/vendor/tabs.css
deleted file mode 100644
index 00771c4e..00000000
--- a/_/css/vendor/tabs.css
+++ /dev/null
@@ -1,110 +0,0 @@
-/*! Asciidoctor Tabs | Copyright (c) 2018-present Dan Allen | MIT License */
-.tabs {
-  margin-bottom: 1.25em;
-}
-
-.tablist > ul {
-  display: flex;
-  flex-wrap: wrap;
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-
-.tablist > ul li {
-  align-items: center;
-  background-color: #fff;
-  cursor: pointer;
-  display: flex;
-  font-weight: bold;
-  line-height: 1.5;
-  padding: 0.25em 1em;
-  position: relative;
-}
-
-.tablist > ul li:focus-visible {
-  outline: none;
-}
-
-.tablist.ulist,
-.tablist.ulist > ul li {
-  margin: 0;
-}
-
-.tablist.ulist > ul li + li {
-  margin-left: 0.25em;
-}
-
-.tabs .tablist li::after {
-  content: "";
-  display: block;
-  height: 1px;
-  position: absolute;
-  bottom: -1px;
-  left: 0;
-  right: 0;
-}
-
-.tabs.is-loading .tablist li:not(:first-child),
-.tabs:not(.is-loading) .tablist li:not(.is-selected) {
-  background-color: #f5f5f5;
-}
-
-.tabs.is-loading .tablist li:first-child::after,
-.tabs:not(.is-loading) .tablist li.is-selected::after {
-  background-color: #fff;
-}
-
-/*
-.tabs:not(.is-loading) .tablist li,
-.tabs:not(.is-loading) .tablist li::after {
-  transition: background-color 200ms ease-in-out;
-}
-*/
-
-.tablist > ul p {
-  line-height: inherit;
-  margin: 0;
-}
-
-.tabpanel {
-  background-color: #fff;
-  padding: 1.25em;
-}
-
-.tablist > ul li,
-.tabpanel {
-  border: 1px solid #dcdcdc;
-}
-
-.tablist > ul li {
-  border-bottom: 0;
-}
-
-.tabs.is-loading .tabpanel + .tabpanel,
-.tabs:not(.is-loading) .tabpanel.is-hidden {
-  display: none;
-}
-
-.tabpanel > :first-child {
-  margin-top: 0;
-}
-
-/* #content is a signature of the Asciidoctor standalone HTML output */
-#content .tabpanel > :last-child,
-#content .tabpanel > :last-child > :last-child,
-#content .tabpanel > :last-child > :last-child > li:last-child > :last-child {
-  margin-bottom: 0;
-}
-
-.tablecontainer {
-  overflow-x: auto;
-}
-
-#content .tablecontainer {
-  margin-bottom: 1.25em;
-}
-
-#content .tablecontainer > table.tableblock {
-  margin-bottom: 0;
-}
diff --git a/_/font/roboto-cyrillic-400-italic.woff2 b/_/font/roboto-cyrillic-400-italic.woff2
deleted file mode 100644
index dd587a2b..00000000
Binary files a/_/font/roboto-cyrillic-400-italic.woff2 and /dev/null differ
diff --git a/_/font/roboto-cyrillic-400-normal.woff2 b/_/font/roboto-cyrillic-400-normal.woff2
deleted file mode 100644
index 47da3629..00000000
Binary files a/_/font/roboto-cyrillic-400-normal.woff2 and /dev/null differ
diff --git a/_/font/roboto-cyrillic-500-italic.woff2 b/_/font/roboto-cyrillic-500-italic.woff2
deleted file mode 100644
index cbe564b0..00000000
Binary files a/_/font/roboto-cyrillic-500-italic.woff2 and /dev/null differ
diff --git a/_/font/roboto-cyrillic-500-normal.woff2 b/_/font/roboto-cyrillic-500-normal.woff2
deleted file mode 100644
index cb5834ff..00000000
Binary files a/_/font/roboto-cyrillic-500-normal.woff2 and /dev/null differ
diff --git a/_/font/roboto-latin-400-italic.woff b/_/font/roboto-latin-400-italic.woff
deleted file mode 100644
index ebee16b9..00000000
Binary files a/_/font/roboto-latin-400-italic.woff and /dev/null differ
diff --git a/_/font/roboto-latin-400-italic.woff2 b/_/font/roboto-latin-400-italic.woff2
deleted file mode 100644
index e1b7a79f..00000000
Binary files a/_/font/roboto-latin-400-italic.woff2 and /dev/null differ
diff --git a/_/font/roboto-latin-400-normal.woff b/_/font/roboto-latin-400-normal.woff
deleted file mode 100644
index 9eaa94f9..00000000
Binary files a/_/font/roboto-latin-400-normal.woff and /dev/null differ
diff --git a/_/font/roboto-latin-400-normal.woff2 b/_/font/roboto-latin-400-normal.woff2
deleted file mode 100644
index 020729ef..00000000
Binary files a/_/font/roboto-latin-400-normal.woff2 and /dev/null differ
diff --git a/_/font/roboto-latin-500-italic.woff b/_/font/roboto-latin-500-italic.woff
deleted file mode 100644
index b6ad1c5b..00000000
Binary files a/_/font/roboto-latin-500-italic.woff and /dev/null differ
diff --git a/_/font/roboto-latin-500-italic.woff2 b/_/font/roboto-latin-500-italic.woff2
deleted file mode 100644
index ae1933f3..00000000
Binary files a/_/font/roboto-latin-500-italic.woff2 and /dev/null differ
diff --git a/_/font/roboto-latin-500-normal.woff b/_/font/roboto-latin-500-normal.woff
deleted file mode 100644
index d39bb52a..00000000
Binary files a/_/font/roboto-latin-500-normal.woff and /dev/null differ
diff --git a/_/font/roboto-latin-500-normal.woff2 b/_/font/roboto-latin-500-normal.woff2
deleted file mode 100644
index 29342a8d..00000000
Binary files a/_/font/roboto-latin-500-normal.woff2 and /dev/null differ
diff --git a/_/font/roboto-mono-latin-400-normal.woff b/_/font/roboto-mono-latin-400-normal.woff
deleted file mode 100644
index be3eb4c4..00000000
Binary files a/_/font/roboto-mono-latin-400-normal.woff and /dev/null differ
diff --git a/_/font/roboto-mono-latin-400-normal.woff2 b/_/font/roboto-mono-latin-400-normal.woff2
deleted file mode 100644
index f8894bab..00000000
Binary files a/_/font/roboto-mono-latin-400-normal.woff2 and /dev/null differ
diff --git a/_/font/roboto-mono-latin-500-normal.woff b/_/font/roboto-mono-latin-500-normal.woff
deleted file mode 100644
index 43ca6a1b..00000000
Binary files a/_/font/roboto-mono-latin-500-normal.woff and /dev/null differ
diff --git a/_/font/roboto-mono-latin-500-normal.woff2 b/_/font/roboto-mono-latin-500-normal.woff2
deleted file mode 100644
index b4f2bf8c..00000000
Binary files a/_/font/roboto-mono-latin-500-normal.woff2 and /dev/null differ
diff --git a/_/img/back.svg b/_/img/back.svg
deleted file mode 100644
index bf7d30e9..00000000
--- a/_/img/back.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M50.001 9.9L9.9 50 50 90.1l5.656-5.655-30.435-30.442H90.1v-8.006H25.222l30.435-30.44z"/></svg>
\ No newline at end of file
diff --git a/_/img/caret.svg b/_/img/caret.svg
deleted file mode 100644
index 1af41bc6..00000000
--- a/_/img/caret.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M10.187 3l14 12-14 12z" fill="#c1c1c1" stroke="#c1c1c1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
\ No newline at end of file
diff --git a/_/img/chevron.svg b/_/img/chevron.svg
deleted file mode 100644
index 40e962af..00000000
--- a/_/img/chevron.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M3.67 6.59L1.455 8.615 15 23.375l13.545-14.76L26.33 6.59 15 18.76z" fill="#5d5d5d"/></svg>
\ No newline at end of file
diff --git a/_/img/home-o.svg b/_/img/home-o.svg
deleted file mode 100644
index 95d193b7..00000000
--- a/_/img/home-o.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><g fill="none" stroke="#222" stroke-width="4"><path d="M50.02 13.576l-28.58 25.54-.02 47.345h21.506l.025-25.166H57.05l.025 25.166H78.62l.02-47.31-28.62-25.575z"/><path d="M63.815 25.904v-9.217h8.657V33.64zM21.439 39.116l-9.982 8.92m77.125 0l-9.943-8.885"/></g></svg>
\ No newline at end of file
diff --git a/_/img/home.svg b/_/img/home.svg
deleted file mode 100644
index 4e96b354..00000000
--- a/_/img/home.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><g stroke="#222" stroke-width="4"><path d="M50.02 13.576l-28.58 25.54-.02 47.345h21.506l.025-25.166H57.05l.025 25.166H78.62l.02-47.31-28.62-25.575z" fill="#222" fill-rule="evenodd"/><path d="M63.815 25.904v-9.217h8.657V33.64z" fill="#222" fill-rule="evenodd"/><path d="M21.439 39.116l-9.982 8.92m77.125 0l-9.943-8.885" fill="none"/></g></svg>
\ No newline at end of file
diff --git a/_/img/menu.svg b/_/img/menu.svg
deleted file mode 100644
index 8b43b2e0..00000000
--- a/_/img/menu.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M35 19.772h55" fill="none" stroke="#222" stroke-width="8" stroke-opacity=".941"/><path fill="#222" d="M10 12.272h15v15H10z"/><path d="M43 63.678h45" fill="none" stroke="#222" stroke-width="5" stroke-opacity=".941"/><path fill="#222" d="M23 58.677h10v10H23z"/><path d="M43 82.727h45" fill="none" stroke="#222" stroke-width="5" stroke-opacity=".941"/><path fill="#222" d="M23 77.727h10v10H23z"/><path d="M43 44.628h45" fill [...]
\ No newline at end of file
diff --git a/_/img/octicons-16.svg b/_/img/octicons-16.svg
deleted file mode 100644
index c2215106..00000000
--- a/_/img/octicons-16.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><desc>Octicons v11.2.0 by GitHub - https://primer.style/octicons/ - License: MIT</desc><symbol id="icon-clippy" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0  [...]
\ No newline at end of file
diff --git a/_/js/site.js b/_/js/site.js
deleted file mode 100644
index 3177860a..00000000
--- a/_/js/site.js
+++ /dev/null
@@ -1,6 +0,0 @@
-!function(){"use strict";var c,e,o,t,s,r,l=/^sect(\d)$/,i=document.querySelector(".nav-container"),a=document.querySelector(".nav-toggle");function n(){var e,t,n=window.location.hash;if(n&&(n.indexOf("%")&&(n=decodeURIComponent(n)),!(e=o.querySelector('.nav-link[href="'+n+'"]')))){n=document.getElementById(n.slice(1));if(n)for(var i=n,a=document.querySelector("article.doc");(i=i.parentNode)&&i!==a;){var c=i.id;if((c=c||(c=l.test(i.className))&&(i.firstElementChild||{}).id)&&(e=o.querySel [...]
-!function(){"use strict";var e=document.querySelector("aside.toc.sidebar");if(e){if(document.querySelector("body.-toc"))return e.parentNode.removeChild(e);var t=parseInt(e.dataset.levels||2,10);if(!(t<0)){var n="article.doc",d=document.querySelector(n);if(d){for(var o=[],i=0;i<=t;i++){var r=[n];if(i){for(var c=1;c<=i;c++)r.push((2===c?".sectionbody>":"")+".sect"+c);r.push("h"+(i+1)+"[id]"+(1<i?":not(.discrete)":""))}else r.push("h1[id].sect0");o.push(r.join(">"))}m=o.join(","),f=d.parent [...]
-!function(){"use strict";var o,i,c=document.querySelector("article.doc");function n(e){return e&&(~e.indexOf("%")?decodeURIComponent(e):e).slice(1)}function r(e){if(e){if(e.altKey||e.ctrlKey)return;window.location.hash="#"+this.id,e.preventDefault()}var t=function n(e,t){return c.contains(e)?n(e.offsetParent,e.offsetTop+t):t}(this,0)-o.getBoundingClientRect().bottom;!1===e&&i?window.scrollTo({left:0,top:t,behavior:"instant"}):window.scrollTo(0,t)}c&&(o=document.querySelector(".toolbar"), [...]
-!function(){"use strict";var t,e=document.querySelector(".page-versions .version-menu-toggle");e&&(t=document.querySelector(".page-versions"),e.addEventListener("click",function(e){t.classList.toggle("is-active"),e.stopPropagation()}),document.documentElement.addEventListener("click",function(){t.classList.remove("is-active")}))}();
-!function(){"use strict";var i=document.querySelector(".navbar-burger");i&&i.addEventListener("click",function(t){t.stopPropagation(),document.documentElement.classList.toggle("is-clipped--navbar"),i.setAttribute("aria-expanded",this.classList.toggle("is-active"));t=document.getElementById(this.getAttribute("aria-controls")||this.dataset.target);{var e;t.classList.toggle("is-active")&&(t.style.maxHeight="",e=window.innerHeight-Math.round(t.getBoundingClientRect().top),parseInt(window.get [...]
-!function(){"use strict";var o=/^\$ (\S[^\\\n]*(\\\n(?!\$ )[^\\\n]*)*)(?=\n|$)/gm,s=/( ) *\\\n *|\\\n( ?) */g,l=/ +$/gm,e=(document.getElementById("site-script")||{dataset:{}}).dataset,d=window.navigator.clipboard,r=e.svgAs,p=(null==e.uiRootPath?window:e).uiRootPath||".";[].slice.call(document.querySelectorAll(".doc pre.highlight, .doc .literalblock pre")).forEach(function(e){var t,n,a,c;if(e.classList.contains("highlight"))(i=(t=e.querySelector("code")).dataset.lang)&&"console"!==i&&((a [...]
\ No newline at end of file
diff --git a/_/js/vendor/highlight.js b/_/js/vendor/highlight.js
deleted file mode 100644
index 45478769..00000000
--- a/_/js/vendor/highlight.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var e,n,a={},t=(e=function(i){var a,g=[],s=Object.keys,M=Object.create(null),r=Object.create(null),O=!0,n=/^(no-?highlight|plain|text)$/i,l=/\blang(?:uage)?-([\w-]+)\b/i,t=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="</span>",x="Could not find the language '{}', did you forget to load/include a language module?",S={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:undefined},o="of and for in not or if then".split(" ");function T(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;" [...]
\ No newline at end of file
diff --git a/_/js/vendor/tabs.js b/_/js/vendor/tabs.js
deleted file mode 100644
index f8966c02..00000000
--- a/_/js/vendor/tabs.js
+++ /dev/null
@@ -1,127 +0,0 @@
-;(function () { /*! Asciidoctor Tabs | Copyright (c) 2018-present Dan Allen | MIT License */
-  'use strict'
-
-  var config = (document.currentScript || {}).dataset || {}
-  var forEach = Array.prototype.forEach
-
-  init(document.querySelectorAll('.tabs'))
-
-  function init (tabsBlocks) {
-    if (!tabsBlocks.length) return
-    forEach.call(tabsBlocks, function (tabs) {
-      var syncIds = tabs.classList.contains('is-sync') ? {} : undefined
-      var tablist = tabs.querySelector('.tablist ul')
-      tablist.setAttribute('role', 'tablist')
-      var start
-      forEach.call(tablist.querySelectorAll('li'), function (tab, idx) {
-        tab.tabIndex = -1
-        tab.setAttribute('role', tab.classList.add('tab') || 'tab')
-        var id, anchor, syncId
-        if (!(id = tab.id) && (anchor = tab.querySelector('a[id]'))) {
-          id = tab.id = anchor.parentNode.removeChild(anchor).id
-        }
-        var panel = id && tabs.querySelector('.tabpanel[aria-labelledby~="' + id + '"]')
-        if (!panel) return idx ? undefined : toggleSelected(tab, true) // invalid state
-        syncIds && (((syncId = tab.textContent.trim()) in syncIds) ? (syncId = undefined) : true) &&
-          (syncIds[(tab.dataset.syncId = syncId)] = tab)
-        idx || (syncIds && (start = { tab: tab, panel: panel })) ? toggleHidden(panel, true) : toggleSelected(tab, true)
-        tab.setAttribute('aria-controls', panel.id)
-        panel.setAttribute('role', 'tabpanel')
-        var onClick = syncId === undefined ? activateTab : activateTabSync
-        tab.addEventListener('click', onClick.bind({ tabs: tabs, tab: tab, panel: panel }))
-      })
-      if (!tabs.closest('.tabpanel')) {
-        forEach.call(tabs.querySelectorAll('.tabpanel table.tableblock'), function (table) {
-          var container = Object.assign(document.createElement('div'), { className: 'tablecontainer' })
-          table.parentNode.insertBefore(container, table).appendChild(table)
-        })
-      }
-      if (start) {
-        var syncGroupId
-        for (var i = 0, lst = tabs.classList, len = lst.length, className; i !== len; i++) {
-          if (!(className = lst.item(i)).startsWith('data-sync-group-id=')) continue
-          tabs.dataset.syncGroupId = syncGroupId = lst.remove(className) || className.slice(19).replace(/\u00a0/g, ' ')
-          break
-        }
-        if (syncGroupId === undefined) tabs.dataset.syncGroupId = syncGroupId = Object.keys(syncIds).sort().join('|')
-        var preferredSyncId = 'syncStorageKey' in config &&
-          window[(config.syncStorageScope || 'local') + 'Storage'].getItem(config.syncStorageKey + '-' + syncGroupId)
-        var tab = preferredSyncId && syncIds[preferredSyncId]
-        tab && Object.assign(start, { tab: tab, panel: document.getElementById(tab.getAttribute('aria-controls')) })
-        toggleSelected(start.tab, true) || toggleHidden(start.panel, false)
-      }
-    })
-    onHashChange()
-    toggleClassOnEach(tabsBlocks, 'is-loading', 'remove')
-    window.setTimeout(toggleClassOnEach.bind(null, tabsBlocks, 'is-loaded', 'add'), 0)
-    window.addEventListener('hashchange', onHashChange)
-  }
-
-  function activateTab (e) {
-    var tab = this.tab
-    var tabs = this.tabs || (this.tabs = tab.closest('.tabs'))
-    var panel = this.panel || (this.panel = document.getElementById(tab.getAttribute('aria-controls')))
-    querySelectorWithSiblings(tabs, '.tablist .tab', 'tab').forEach(function (el) {
-      toggleSelected(el, el === tab)
-    })
-    querySelectorWithSiblings(tabs, '.tabpanel', 'tabpanel').forEach(function (el) {
-      toggleHidden(el, el !== panel)
-    })
-    if (!this.isSync && 'syncStorageKey' in config && 'syncGroupId' in tabs.dataset) {
-      var storageKey = config.syncStorageKey + '-' + tabs.dataset.syncGroupId
-      window[(config.syncStorageScope || 'local') + 'Storage'].setItem(storageKey, tab.dataset.syncId)
-    }
-    if (!e) return
-    var loc = window.location
-    var hashIdx = loc.hash ? loc.href.indexOf('#') : -1
-    if (~hashIdx) window.history.replaceState(null, '', loc.href.slice(0, hashIdx))
-    e.preventDefault()
-  }
-
-  function activateTabSync (e) {
-    activateTab.call(this, e)
-    var thisTabs = this.tabs
-    var thisTab = this.tab
-    var initialY = thisTabs.getBoundingClientRect().y
-    forEach.call(document.querySelectorAll('.tabs'), function (tabs) {
-      if (tabs === thisTabs || tabs.dataset.syncGroupId !== thisTabs.dataset.syncGroupId) return
-      querySelectorWithSiblings(tabs, '.tablist .tab', 'tab').forEach(function (tab) {
-        if (tab.dataset.syncId === thisTab.dataset.syncId) activateTab.call({ tabs: tabs, tab: tab, isSync: true })
-      })
-    })
-    var shiftedBy = thisTabs.getBoundingClientRect().y - initialY
-    if (shiftedBy && (shiftedBy = Math.round(shiftedBy))) window.scrollBy({ top: shiftedBy, behavior: 'instant' })
-  }
-
-  function querySelectorWithSiblings (scope, selector, siblingClass) {
-    var el = scope.querySelector(selector)
-    if (!el) return []
-    var result = [el]
-    while ((el = el.nextElementSibling) && el.classList.contains(siblingClass)) result.push(el)
-    return result
-  }
-
-  function toggleClassOnEach (elements, className, method) {
-    forEach.call(elements, function (el) {
-      el.classList[method](className)
-    })
-  }
-
-  function toggleHidden (el, state) {
-    el.classList[(el.hidden = state) ? 'add' : 'remove']('is-hidden')
-  }
-
-  function toggleSelected (el, state) {
-    el.setAttribute('aria-selected', '' + state)
-    el.classList[state ? 'add' : 'remove']('is-selected')
-    el.tabIndex = state ? 0 : -1
-  }
-
-  function onHashChange () {
-    var id = window.location.hash.slice(1)
-    if (!id) return
-    var tab = document.getElementById(~id.indexOf('%') ? decodeURIComponent(id) : id)
-    if (!(tab && tab.classList.contains('tab'))) return
-    'syncId' in tab.dataset ? activateTabSync.call({ tab: tab }) : activateTab.call({ tab: tab })
-  }
-})()
diff --git a/_images/blog/love-the-vex.png b/_images/blog/love-the-vex.png
deleted file mode 100644
index 75b0c14a..00000000
Binary files a/_images/blog/love-the-vex.png and /dev/null differ
diff --git a/blog/20231117-flume-joins-logging-services.html b/blog/20231117-flume-joins-logging-services.html
deleted file mode 100644
index 60d8ed2e..00000000
--- a/blog/20231117-flume-joins-logging-services.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Welcoming the Apache Flume Team to Apache Logging Services :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20231117-flume-joins-logging-services.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20231117-flume-joins-logging-services.html">Welcoming the Apache Flume Team to Apache Logging Services</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20231117-flume-joins-logging-services.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Welcoming the Apache Flume Team to Apache Logging Services</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>We are excited to announce that <a href="https://github.com/apache/flume">Apache Flume</a> is now a part of our Logging Services family.
-Flume is renowned for its distributed, reliable, and available service, specializing
-in efficiently collecting, aggregating, and moving large volumes of log data.</p>
-</div>
-<div class="paragraph">
-<p>The journey of Flume has been remarkable. Unfortunately, the Flume team had struggles
-with growing and remained a small team. Still, they caught the attention
-of several Logging Services committers. Impressed by its
-capabilities and potential, both the Flume community and our team saw a
-unique opportunity for collaboration and bringing two small teams together.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_a_unified_force_in_logging"><a class="anchor" href="#_a_unified_force_in_logging"></a>A Unified Force in Logging</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>This integration is more than just a merger of two services; it&#8217;s the coming
-together of like-minded communities aiming for excellence in logging solutions.
-The decision to merge was driven by our shared vision of offering robust,
-scalable, and efficient logging services.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_extending_our_portfolio"><a class="anchor" href="#_extending_our_portfolio"></a>Extending Our Portfolio</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Flume&#8217;s addition significantly extends our own Logging portfolio. Its unique approach
-to handling large-scale log data complements our existing solutions, creating a
-more comprehensive suite of tools for our users.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_looking_forward"><a class="anchor" href="#_looking_forward"></a>Looking Forward</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Plans are already underway to push Flume to a new release, one that incorporates
-our combined expertise and the latest in logging technology.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_free_and_open_source_apache_license"><a class="anchor" href="#_free_and_open_source_apache_license"></a>Free and Open Source, Apache License</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>As always, Apache Flume is developed under the Apache License. While we are still merging
-our efforts, you can already contribute and send pull requests. We value the
-principles of open source and encourage the community to participate in
-Flume&#8217;s ongoing development.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_join_us"><a class="anchor" href="#_join_us"></a>Join Us</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>We are also opening our doors wider, welcoming new contributors and other
-interested individuals who wish to be part of this exciting journey. Whether
-you&#8217;re an experienced developer or just starting out, there&#8217;s a place for you here.</p>
-</div>
-<div class="paragraph">
-<p>If you&#8217;re as excited about this development as we are and want to learn more
-or contribute, we encourage you to reach out. Let&#8217;s shape the future of logging services together!</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20231128-new-pmc-member.html b/blog/20231128-new-pmc-member.html
deleted file mode 100644
index 02c86b60..00000000
--- a/blog/20231128-new-pmc-member.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Welcoming Stephen Webb to the Apache Logging Services community :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20231128-new-pmc-member.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20231128-new-pmc-member.html">Welcoming Stephen Webb to the Apache Logging Services community</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20231128-new-pmc-member.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Welcoming Stephen Webb to the Apache Logging Services community</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>We are thrilled to take this moment to celebrate and acknowledge Stephen Webb,
-who joined the Apache Logging Services community back in 2020.
-Stephen&#8217;s journey with us has been nothing short of remarkable,
-especially his substantial contributions to the Log4cxx project.</p>
-</div>
-<div class="paragraph">
-<p>Stephen&#8217;s work has played a vital role in enhancing Log4cxx, showcasing
-his expertise and dedication to improving our logging solutions.</p>
-</div>
-<div class="paragraph">
-<p>That&#8217;s why we invited Stephen to the Apache Logging Services PMC.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_a_community_built_on_collaboration_and_innovation"><a class="anchor" href="#_a_community_built_on_collaboration_and_innovation"></a>A Community built on collaboration and innovation</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Logging Services community is a vibrant and dynamic group,
-united by our passion for open-source software and our commitment to
-delivering top-notch logging solutions. We&#8217;re proud of the
-collaborative environment we&#8217;ve fostered, where ideas thrive and innovation
-is the norm.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_open_arms_for_newcomers"><a class="anchor" href="#_open_arms_for_newcomers"></a>Open arms for newcomers</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>In the spirit of growth and learning, we also want to extend a warm
-welcome to newcomers. Whether you&#8217;re an experienced developer or just starting,
-Apache Logging Services is a place where you can contribute, learn, and grow.
-Our community is always glad to help, guide, and collaborate with
-anyone who shares our passion for open-source software and logging solutions.</p>
-</div>
-<div class="paragraph">
-<p>Please reach out using GitHub Issues/Discussions or our mailing lists.</p>
-</div>
-<div class="paragraph">
-<p>Join us, if you want to be part of our project. Let&#8217;s build together!</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20231202-apache-common-logging-1.3.0.html b/blog/20231202-apache-common-logging-1.3.0.html
deleted file mode 100644
index ce64af1a..00000000
--- a/blog/20231202-apache-common-logging-1.3.0.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Apache Commons Logging :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20231202-apache-common-logging-1.3.0.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20231202-apache-common-logging-1.3.0.html">Apache Commons Logging</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20231202-apache-common-logging-1.3.0.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Apache Commons Logging</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p><a href="https://commons.apache.org/proper/commons-logging/">Apache Commons Logging (JCL)</a> is one of the oldest Java logging API
-available.
-Released for the first time in 2002, it immediately saw a widespread adoption in the Java community.</p>
-</div>
-<div class="paragraph">
-<p>While newer APIs, like SLF4J and our own Log4j API, appeared over time, even in 2023 it is hard to find an application stack
-that does not depend on JCL.
-According to Sonatype, Apache Commons Logging is used in <a href="https://central.sonatype.com/artifact/commons-logging/commons-logging">over 1 million artifacts</a>, while the second place is taken by SLF4J with <a href="https://central.sonatype.com/artifact/org.slf4j/slf4j-api">almost 40 thousand artifacts</a>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_version_1_3_0"><a class="anchor" href="#_version_1_3_0"></a>Version 1.3.0</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>After more than 9 years since its previous release (version 1.2 released in July 2014), Apache Commons Logging released
-a new 1.3.0 version today (cf. <a href="https://lists.apache.org/thread/wx6v7wwhbnk64nx708hszctzv8fdsvdl">announcement</a>).
-Among the most prominent changes, the new version:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>forwards logging to the Log4j API out-of-the-box (if present),</p>
-</li>
-<li>
-<p>also supports forwarding to SLF4J,</p>
-</li>
-<li>
-<p>adds support for the Java Platform Module System (JPMS) with the module name <code>org.apache.commons.logging</code>.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_upgrade_instructions_log4j_corelogback"><a class="anchor" href="#_upgrade_instructions_log4j_corelogback"></a>Upgrade instructions (Log4j Core/Logback)</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The upgrade path for users of the Log4j Core and Logback logging backends is easy.
-The first step is upgrading <code>commons-logging</code>.
-In Maven this can be done using dependency management.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependencyManagement&gt;
-    &lt;dependencies&gt;
-        &lt;dependency&gt;
-            &lt;groupId&gt;commons-logging&lt;/groupId&gt;
-            &lt;artifactId&gt;commons-logging&lt;/artifactId&gt;
-            &lt;version&gt;1.3.0&lt;/version&gt;
-        &lt;/dependency&gt;
-    &lt;/dependencies&gt;
-&lt;/dependencyManagement&gt;</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The second step consists in removing obsolete dependencies.
-Since version 1.2 only supported old generation logging backends out-of-the-box (<a href="https://logging.apache.org/log4j/1.x/">Log4j 1.x</a>, <a href="https://avalon.apache.org">Avalon</a> and <a href="https://javalogging.sourceforge.net">Lumberjack</a>), the Java community developed many <code>LogFactory</code> implementations and complete Apache Commons Logging replacements:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j"><code>org.slf4j:jcl-over-slf4j</code></a> (replacement),</p>
-</li>
-<li>
-<p><a href="https://mvnrepository.com/artifact/org.springframework/spring-jcl"><code>org.springframework:spring-jcl</code></a> (replacement),</p>
-</li>
-<li>
-<p>our own <a href="https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl"><code>org.apache.logging.log4j:log4j-jcl</code></a> (<code>LogFactory</code> implementation).</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>These artifacts can be <strong>safely</strong> removed from your dependency stack.
-For JPMS users this operation is even <strong>required</strong>.</p>
-</div>
-<div class="paragraph">
-<p>To do so Maven users can use exclusions:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;dependency&gt;
-    &lt;groupId&gt;org.springframework&lt;/groupId&gt;
-    &lt;artifactId&gt;spring-jcl&lt;/artifactId&gt;
-    &lt;exclusions&gt;
-        &lt;exclusion&gt;
-            &lt;groupId&gt;org.springframework&lt;/groupId&gt;
-            &lt;artifactId&gt;spring-jcl&lt;/artifactId&gt;
-        &lt;/exclusion&gt;
-    &lt;/exclusions&gt;
-&lt;/dependency&gt;</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>and to prevent regressions, add those dependencies to a <a href="https://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html"><code>bannedDependencies</code> Maven Enforcer rule</a>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_upgrade_instructions_log4j_1_xreload4j_users"><a class="anchor" href="#_upgrade_instructions_log4j_1_xreload4j_users"></a>Upgrade instructions (Log4j 1.x/Reload4j users)</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>For users that use Log4j 1.x or Reload4j as logging backend the upgrade is more complicated: version 1.3.0 disabled the Log4j 1.x backend by default.</p>
-</div>
-<div class="paragraph">
-<p>Log4j 1.x/Reload4j users are:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>encouraged to migrate to Log4j 2.x Core (cf. <a href="https://logging.apache.org/log4j/2.x/manual/migration.html">migration guide</a>) or Logback,</p>
-</li>
-<li>
-<p>if that is not possible (or if a transitional period is required) they need to add a <code>commons-logging.properties</code> file to their applications containing:</p>
-</li>
-</ul>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-none hljs">org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_jpms_users"><a class="anchor" href="#_jpms_users"></a>JPMS users</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The <code>org.apache.commons.logging</code> JPMS module has an <strong>optional</strong> dependency on the Log4j API.
-In order for the JVM to automatically add the <code>org.apache.logging.log4j</code> module to your application&#8217;s runtime, you need to add:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-none hljs">requires org.apache.logging.log4j;</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>to your application&#8217;s module descriptor.</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20231214-announcing-support-from-the-stf.html b/blog/20231214-announcing-support-from-the-stf.html
deleted file mode 100644
index 19ee4c2c..00000000
--- a/blog/20231214-announcing-support-from-the-stf.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Receiving Support from the Sovereign Tech Fund :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20231214-announcing-support-from-the-stf.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20231214-announcing-support-from-the-stf.html">Receiving Support from the Sovereign Tech Fund</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20231214-announcing-support-from-the-stf.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Receiving Support from the Sovereign Tech Fund</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>For a long time, Apache Log4j has thrived through the dedication and contributions
-of our community, relying mostly on unpaid volunteers. Today, we&#8217;re excited to announce
-a pivotal moment in our journey – <a href="https://www.sprind.org/de/projekte/sovereign-tech-fund">the Sovereign Tech Fund (STF)</a> has chosen to support us in the further development of specific Log4j projects.</p>
-</div>
-<div class="paragraph">
-<p>The STF, known for its commitment to critical projects,
-recognizes the significance of Log4j in the global tech landscape. This support
-is a testament to the essential role Log4j plays in the IT infrastructure.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_focused_development_and_security_enhancement"><a class="anchor" href="#_focused_development_and_security_enhancement"></a>Focused Development and Security Enhancement</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>We&#8217;re honored that three of our maintainers - <a href="https://grobmeier.solutions">Christian Grobmeier</a>,
-Piotr Karwasz, and <a href="https://volkan.yazi.ci">Volkan Yazıcı</a> - are being supported through
-this initiative. Collaborating closely with the Project Management Committee (PMC),
-their focus will be on enhancing security, elevating code quality, and adding new,
-advanced features.</p>
-</div>
-<div class="paragraph">
-<p>We have already made significant progress: implemented a CI-based
-release pipeline, modernized the code base and dependencies, started
-publishing <a href="https://logging.apache.org/logging-parent/latest/#cyclonedx-sbom">Software Bill of Materials (SBOM) and Vulnerability Disclosure Report (VDR)</a>
-for released artifacts, and several other enhancements. This funding
-will also enable us to substantially improve our documentation, tests, and overall stability.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_broadening_our_horizons"><a class="anchor" href="#_broadening_our_horizons"></a>Broadening Our Horizons</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>This is an extraordinary opportunity for Log4j and the Logging Services team. It enables us to refine our library,
-making it more user-friendly and maintaining our position as a leading logging solution.
-Our team&#8217;s size and expertise allow us to respond swiftly to security issues.
-With the STF&#8217;s support, we can further enhance the security and stability that
-enterprises and our diverse user base have come to expect from us.</p>
-</div>
-<div class="paragraph">
-<p>Without this funding, many of these improvements would not have been feasible.
-It marks a significant leap in our ability to serve the community and
-contribute to the open-source ecosystem.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_acknowledgments_and_future_endeavors"><a class="anchor" href="#_acknowledgments_and_future_endeavors"></a>Acknowledgments and Future Endeavors</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>On a personal note, we would like to extend our gratitude to the (<a href="https://www.inoeg.de/">InÖG</a>)
-for their pivotal role in facilitating these developments. They made us aware of the STF
-during our participation in their remarkable project <a href="https://www.dialog-cybersicherheit.de/b3/">Buntes Bug Bounty</a>
-program, a commendable open-source project to bolster software security
-(<a href="https://www.dialog-cybersicherheit.de/workstreams/">Dialog-Cybersicherheit</a>) in Germany.</p>
-</div>
-<div class="paragraph">
-<p>As we embark on this new chapter, we invite the global tech community to join us
-in celebrating this milestone. Your support and contributions have brought us here,
-and together, we&#8217;ll continue to strengthen the foundation of digital infrastructure
-for a safer, more robust technological future.</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20231218-20-years-of-innovation.html b/blog/20231218-20-years-of-innovation.html
deleted file mode 100644
index 3a587f4d..00000000
--- a/blog/20231218-20-years-of-innovation.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Two Decades of Apache Log4j: A Journey of Resilience and Innovation :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20231218-20-years-of-innovation.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20231218-20-years-of-innovation.html">Two Decades of Apache Log4j: A Journey of Resilience and Innovation</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20231218-20-years-of-innovation.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Two Decades of Apache Log4j: A Journey of Resilience and Innovation</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>Today, December 17, 2023 marks a significant milestone for the Apache Logging Services project,
-as we celebrate 20 years since the inception of Log4j 1.
-This journey, spanning two decades, has been one of constant evolution, growth, and community spirit.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_a_timeline_of_success_and_learning"><a class="anchor" href="#_a_timeline_of_success_and_learning"></a>A Timeline of Success and Learning</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>From the early days of Log4j 1, we have witnessed numerous releases,
-welcomed many new committers and PMC members, and seen the launch of various side
-projects as Log4xx, Chainsaw or Log4php. The recent addition of
-Apache Flume has further broadened our suite of logging
-tools, showcasing our commitment to providing diverse and robust solutions.</p>
-</div>
-<div class="paragraph">
-<p>We are incredibly proud of the learning curve we experienced with Log4j 1.
-Every mistake was a stepping stone towards the development of Log4j 2,
-which has surpassed all our previous projects in scope and impact.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_overcoming_challenges_together"><a class="anchor" href="#_overcoming_challenges_together"></a>Overcoming Challenges Together</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Log4shell incident was a critical period for us. However, the strength
-and support of not only our community but also the global open-source community
-were astounding. Together, we transformed a challenge into an opportunity to create
-the most secure logging framework to date. The extensive code reviews and
-collaborative efforts post-Log4shell have significantly fortified
-Log4j&#8217;s security features.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_looking_ahead_with_excitement"><a class="anchor" href="#_looking_ahead_with_excitement"></a>Looking Ahead with Excitement</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The future looks bright as we eagerly anticipate the release of Log4j 3.
-Alongside, we are preparing for new versions of Apache Flume, a logging processor,
-and other exciting side projects. These developments are a testament to our
-commitment to innovation and excellence.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_a_community_that_values_collaboration"><a class="anchor" href="#_a_community_that_values_collaboration"></a>A Community That Values Collaboration</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>At the heart of our success is our community spirit, perfectly encapsulated
-in the Apache Software Foundation&#8217;s motto, "Community Over Code."
-This philosophy has been our guiding light, ensuring that we prioritize
-collaboration, mutual respect, and collective growth.</p>
-</div>
-<div class="paragraph">
-<p>We warmly invite you to join us in this celebratory moment. Whether you
-are a seasoned contributor or new to the open-source world, there is a
-place for you in the Apache Logging Services community. Together, let&#8217;s
-continue to innovate, learn, and build a future that echoes the resilience
-and spirit of the past two decades.</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20240725-Log4j-At-Community-Over-Code-2024.html b/blog/20240725-Log4j-At-Community-Over-Code-2024.html
deleted file mode 100644
index 9797a21f..00000000
--- a/blog/20240725-Log4j-At-Community-Over-Code-2024.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Apache Log4j at Community Over Code 2024 in Bratislava :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20240725-Log4j-At-Community-Over-Code-2024.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20240725-Log4j-At-Community-Over-Code-2024.html">Apache Log4j at Community Over Code 2024 in Bratislava</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20240725-Log4j-At-Community-Over-Code-2024.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Apache Log4j at Community Over Code 2024 in Bratislava</h1>
-<div class="paragraph">
-<p>On July 25, 2024, Apache Log4j was featured at the Community Over Code conference in Bratislava.
-Matt Sicker and Piotr Karwasz, two of the project&#8217;s key contributors, shared insights into the history and future of Log4j.</p>
-</div>
-<div class="paragraph">
-<p>If you are interested in what we learned about security and how we want to
-improve Log4j further, please watch <a href="https://www.youtube.com/watch?v=Hpe7p24DQo0">the full interview done by Rich Bowen for the ASF</a>.</p>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20240808-welcome-to-the-pmc-jan.html b/blog/20240808-welcome-to-the-pmc-jan.html
deleted file mode 100644
index c2e332e1..00000000
--- a/blog/20240808-welcome-to-the-pmc-jan.html
+++ /dev/null
@@ -1,211 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Welcoming Jan Friedrich to the Apache Logging Services PMC :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20240808-welcome-to-the-pmc-jan.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20240808-welcome-to-the-pmc-jan.html">Welcoming Jan Friedrich to the Apache Logging Services PMC</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20240808-welcome-to-the-pmc-jan.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Welcoming Jan Friedrich to the Apache Logging Services PMC</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>We are happy to announce that Jan Friedrich has been invited to join the Apache Logging Services PMC. Jan joined the project only this year. His contributions to Log4net have been substantial and have significantly improved the project.</p>
-</div>
-<div class="paragraph">
-<p>Instead of introducing him ourselves, we asked Jan to share a little of himself:</p>
-</div>
-<div class="quoteblock">
-<blockquote>
-<div class="paragraph">
-<p>I&#8217;m Jan Friedrich (FreeAndNil), hailing from Germany, and I&#8217;ve been a developer for 25 years. Over the past two decades, I&#8217;ve specialized in Delphi &amp; C# and have nearly 20 years of experience using log4net. For the past two years, I&#8217;ve also been actively contributing to the development of log4net. On a personal note, I&#8217;m a proud parent of three wonderful kids. I look forward to sharing my expertise and learning from all of you.</p>
-</div>
-</blockquote>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_a_community_built_on_collaboration_and_innovation"><a class="anchor" href="#_a_community_built_on_collaboration_and_innovation"></a>A Community Built on Collaboration and Innovation</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Logging Services community is a lively and passionate group dedicated to open-source software and top-notch logging solutions. We thrive on collaboration and innovation.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_open_arms_for_newcomers"><a class="anchor" href="#_open_arms_for_newcomers"></a>Open Arms for Newcomers</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>We&#8217;re always excited to welcome newcomers, whether you&#8217;re an experienced
-developer or just starting. Apache Logging Services is a place to contribute,
-learn, and grow. Our community is here to help and collaborate with anyone who shares our passion.</p>
-</div>
-<div class="paragraph">
-<p>Get in touch through GitHub Issues/Discussions or our mailing lists.</p>
-</div>
-<div class="paragraph">
-<p>Join us, and let&#8217;s build something great together!</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20240812-log4j-bug-bounty.html b/blog/20240812-log4j-bug-bounty.html
deleted file mode 100644
index 4fdd8778..00000000
--- a/blog/20240812-log4j-bug-bounty.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Apache Log4j participates in the bug bounty program :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20240812-log4j-bug-bounty.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20240812-log4j-bug-bounty.html">Apache Log4j participates in the bug bounty program</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20240812-log4j-bug-bounty.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Apache Log4j participates in the bug bounty program</h1>
-<div class="paragraph">
-<p>We were proud to be <a href="20231214-announcing-support-from-the-stf.html" class="xref page">supported by the STF</a> last year.
-This support helped us to fix many bugs, rewrite documentation, and improve the overall quality of the codebase and security.</p>
-</div>
-<div class="paragraph">
-<p>Building on this support, we are excited to announce our participation in the <a href="https://yeswehack.com/programs/log4j-bug-bounty-program">YesWeHack</a> bug bounty program.
-This initiative allows you to hunt bugs in Log4j and get paid for your contributions.</p>
-</div>
-<div class="paragraph">
-<p>Our participation in this program wouldn&#8217;t have been possible without the
-generous support of our friends at the STF, who provided the necessary funds to
-reward your efforts. The STF not only supports us but also assists many other projects.
-You can learn more about their mission by reading their
-<a href="https://www.sovereigntechfund.de/news/calling-all-security-researchers">official announcement on their website</a>.</p>
-</div>
-<div class="paragraph">
-<p>We want to thank the STF and YesWeHack for their support.</p>
-</div>
-<div class="paragraph">
-<p>We encourage all security researchers and developers to join us in this effort.
-Your contributions can help make Log4j more secure and reliable and reward your efforts.</p>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/20250728-introduction-to-vex-files.html b/blog/20250728-introduction-to-vex-files.html
deleted file mode 100644
index 638fc99a..00000000
--- a/blog/20250728-introduction-to-vex-files.html
+++ /dev/null
@@ -1,381 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>How I learned to Stop Worrying and Love the VEX :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/20250728-introduction-to-vex-files.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="20250728-introduction-to-vex-files.html">How I learned to Stop Worrying and Love the VEX</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/20250728-introduction-to-vex-files.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">How I learned to Stop Worrying and Love the VEX</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="imageblock">
-<div class="content">
-<img src="../_images/blog/love-the-vex.png" alt="love the vex">
-</div>
-</div>
-<div class="paragraph">
-<p>A <strong>Vulnerability Exploitability eXchange (VEX)</strong> is a machine-readable file used to indicate whether vulnerabilities in an application&#8217;s third-party dependencies are actually exploitable.</p>
-</div>
-<div class="paragraph">
-<p>We first encountered the term "VEX" in 2023 when we began publishing SBOMs and Vulnerability Disclosure Reports (VDRs) for Log4j, as part of <a href="20231214-announcing-support-from-the-stf.html" class="xref page">a larger STF initiative</a>. That work gave us the chance to learn directly from experts like <a href="https://owasp.org/www-board-candidates/2023/steve_springett">Steve Springett</a> (whom we sincerely thank for his time and patience). One key takeaway from that experience [...]
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>A <strong>Vulnerability Disclosure Report (VDR)</strong> lists vulnerabilities <strong>present</strong> in a software component. There’s debate about whether it should also include third-party dependency vulnerabilities, but in the case of Log4j (a Java library that bundles no third-party dependencies), the answer is clear: it does not matter.</p>
-</li>
-<li>
-<p>A <strong>Vulnerability Exploitability eXchange (VEX)</strong> goes further, analysing whether the vulnerabilities present are <strong>actually exploitable</strong>.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_why_we_skipped_the_vex_for_log4j"><a class="anchor" href="#_why_we_skipped_the_vex_for_log4j"></a>Why We Skipped the VEX for Log4j</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Maintaining VEX files can be expensive—some companies spend hundreds of thousands, even millions of dollars each year to process and manage them. The cost typically scales with the number of CVEs that need to be evaluated annually.</p>
-</div>
-<div class="paragraph">
-<p>For commercial entities that keep parts of their SBOM private, the bar is higher: <strong>they must include every CVE in their VEX</strong> to meet regulatory or contractual obligations, since clients are not able to determine whether a dependency is present or not in the product.</p>
-</div>
-<div class="paragraph">
-<p>Open Source projects, on the other hand, often operate under different constraints. Since we publish a full SBOM that transparently lists all dependencies, we could reasonably limit our scope to just those declared dependencies—about 100 across all Log4j modules.</p>
-</div>
-<div class="paragraph">
-<p>Still, even 100 dependencies represent a significant burden when all analysis must be done by volunteers in their spare time. Given that reality, we made a pragmatic decision: rather than invest that effort into producing and maintaining a VEX, we chose to only publish a VDR, which only lists the vulnerabilities in our own codebase.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_when_the_absence_of_a_vex_became_a_problem"><a class="anchor" href="#_when_the_absence_of_a_vex_became_a_problem"></a>When the Absence of a VEX Became a Problem</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>At first, we were comfortable with our decision. But that changed when we helped Kafka migrate from Log4j 1 to Log4j 2\. I suggested using more human-friendly YAML-formatted configuration files, only to be met with <a href="https://lists.apache.org/thread/khm0jn9f0vgp30pfyoy6jc0qy46sbklp">valid concerns</a>:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Adding <code>log4j-core</code> and its optional <code>jackson-dataformat-yaml</code> dependency could introduce security risks.</p>
-</li>
-<li>
-<p>Parsers are common sources of CVEs.</p>
-</li>
-<li>
-<p>While Log4j doesn&#8217;t bundle dependencies (we only provide metadata and recommendations), Kafka&#8217;s situation is different—each vulnerability in its transitive dependencies could force a new release.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>That experience revealed a key blind spot: even if <strong>we</strong> know certain dependencies aren’t exploitable, our users don’t. They spend unnecessary time analyzing risks that don’t exist. For example, in Log4j Core, the parsing capabilities of Jackson are only used to read <strong>trusted</strong> configuration files—so typical parser vulnerabilities aren’t exploitable. But this nuance wasn’t documented <strong>anywhere</strong> that automated scanners could read.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_vex_ante_litteram"><a class="anchor" href="#_vex_ante_litteram"></a>VEX <strong>ante litteram</strong></h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Log4j Core is a very controlled consumer of <code>jackson-dataformat-yaml</code>. But what about other consumers? Would they be vulnerable to transitive dependencies like SnakeYAML? You’d think so—but when I thoroughly analyzed several SnakeYAML CVEs, none turned out to be exploitable through Jackson.</p>
-</div>
-<div class="paragraph">
-<p>Still, that kind of analysis is extremely time-consuming:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Identify the exact method that caused the CVE (rarely detailed in CVE descriptions).</p>
-</li>
-<li>
-<p>Analyze how, if at all, that method can be reached through your dependency tree.</p>
-</li>
-<li>
-<p>Confirm there’s no sanitization or validation on any reachable path.</p>
-</li>
-</ol>
-</div>
-<div class="paragraph">
-<p>Surprisingly, some of this work has already been done for years by maintainers\! For example, downstream projects often raise issues like:</p>
-</div>
-<div class="paragraph">
-<p>"Please upgrade <code>foo</code> to version 1.2.3 due to CVE-2025-1234."</p>
-</div>
-<div class="paragraph">
-<p>What this request actually means is:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><strong>Please confirm your library is <strong>compatible</strong> with the patched version.</strong></p>
-</li>
-<li>
-<p><strong>Please tell us whether the vulnerability is <strong>exploitable</strong>.</strong></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>These human-readable questions are, in effect, <strong>VEX requests</strong>. Some examples can be found in the <a href="https://github.com/FasterXML/jackson-dataformats-text/issues?q=is%3Aissue%20state%3Aclosed%20snakeyaml%20cve"><code>jackson-dataformats-text</code> repository</a>.</p>
-</div>
-<div class="paragraph">
-<p>These kinds of request leave Open Source maintainers two choices:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Publish machine-readable VEXes so tools can automatically dismiss non-exploitable issues and many user questions can be avoided.</p>
-</li>
-<li>
-<p>Or answer these questions only manually—repeatedly, and often redundantly.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_toward_faster_smarter_vexes"><a class="anchor" href="#_toward_faster_smarter_vexes"></a>Toward Faster, Smarter VEXes</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The turning point came at FOSDEM 2025, where I met <strong>Munawar Hafiz (OpenRefactory)</strong>. As we discussed the VEX burden, we realized much of the manual analysis could be automated.</p>
-</div>
-<div class="paragraph">
-<p>In the months that followed, Munawar’s team built a prototype that automates two key parts of VEX creation:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Identifying the vulnerable method(s) in a dependency.</p>
-</li>
-<li>
-<p>Tracing all possible paths from the application to the vulnerability.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>This drastically reduces the time needed to analyze each new CVE. The human factor remains essential (at least until tools like CycloneDX Threat Models become fully automated), but the workload is now much more manageable.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_vexes_come_to_open_source"><a class="anchor" href="#_vexes_come_to_open_source"></a>VEXes Come to Open Source</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>As of <strong>July 2025</strong>, we&#8217;re excited to share that a new <strong>VEX Initiative</strong> has been launched by the <strong>Alpha-Omega Fund</strong>. It will release OpenRefactory&#8217;s tooling under the <code>Apache-2.0</code> license and integrate it into Apache Solr workflows.</p>
-</div>
-<div class="paragraph">
-<p>The goal: generate more accurate and timely VEX files. For example, the first CVE addressed—https://www.cve.org/CVERecord?id=CVE-2025-48924[<strong>CVE-2025-48924</strong>] (an infinite recursion in a Commons Lang method)—was reported just days after the initiative started. The analysis showed Solr was <strong>not</strong> vulnerable, meaning users don’t need to rush to upgrade to the next release.</p>
-</div>
-<div class="paragraph">
-<p>This is only the beginning. We aim to push this effort up the dependency chain—supporting not just Solr, but also projects like Log4j and Apache Commons. This collaborative model allows us to <strong>distribute the effort</strong>: both the computational workload of automated analysis and the human effort required to review, validate, and interpret the results.</p>
-</div>
-<div class="paragraph">
-<p>By working together across projects, we can reduce duplication, increase accuracy, and accelerate the delivery of trustworthy VEX files—benefiting the entire open source ecosystem.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_what_it_means_for_you"><a class="anchor" href="#_what_it_means_for_you"></a>What It Means for You</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Under the EU’s <strong>Cyber Resilience Act (CRA)</strong>, commercial vendors must ensure that:</p>
-</div>
-<div class="paragraph">
-<p>“Products with digital elements shall be made available on the market without known exploitable vulnerabilities.”</p>
-</div>
-<div class="paragraph">
-<p>Improved VEX tooling and publishing open up two practical paths for meeting the requirements of the CRA:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p><strong>Patch your Solr installations</strong> to use dependency versions that are free of known CVEs.</p>
-</li>
-<li>
-<p><strong>Leverage the Apache Solr VEX file</strong> to demonstrate to regulators that known vulnerabilities are <strong>not exploitable</strong> in your context.</p>
-</li>
-</ol>
-</div>
-<div class="paragraph">
-<p>If you choose the second approach—and you have internal insights into the exploitability of vulnerabilities in your open source–based products—<strong>don’t keep that knowledge to yourself</strong>. Contributing your findings upstream helps the broader ecosystem. By sharing what you’ve already analyzed, you enable other organizations to invest their resources into analyzing vulnerabilities in other OSS projects—possibly the same ones you rely on.</p>
-</div>
-<div class="paragraph">
-<p>It&#8217;s a win-win: stronger shared security, reduced duplication of effort, and a more resilient open source supply chain.</p>
-</div>
-<div class="paragraph">
-<p><strong>Written by Piotr P. Karwasz. Edited by Charlie Bedard.</strong></p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-The image at the top is generated by <a href="https://openai.com/pl-PL/sora/">Sora</a>. We used the following prompt: “Create an image for a blog post with the following title "How I Learned to Stop Worrying and Love the VEX" . Here VEX refers to the Vulnerability Exploitability eXchange document which is used to describe whether a vulnerability affects a downstream dependent application or not. Please use references from the Dr Strangelove movie while preparing the image.”
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/blog/index.html b/blog/index.html
deleted file mode 100644
index 8b89fd0a..00000000
--- a/blog/index.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Blog :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/blog/index.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../_/css/site.css">
-<link rel="icon" href="../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="1">
-    <a class="nav-link" href="index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../index.html">Home</a></li>
-    <li><a href="index.html">Blog</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/blog/index.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Blog</h1>
-<div class="ulist">
-<ul>
-<li>
-<p>2025-07-28 <a href="20250728-introduction-to-vex-files.html" class="xref page">How I learned to Stop Worrying and Love the VEX</a></p>
-</li>
-<li>
-<p>2024-08-12 <a href="20240812-log4j-bug-bounty.html" class="xref page">Apache Log4j participates in the bug bounty program</a></p>
-</li>
-<li>
-<p>2024-08-08 <a href="20240808-welcome-to-the-pmc-jan.html" class="xref page">Welcoming Jan Friedrich to the Apache Logging Services PMC</a></p>
-</li>
-<li>
-<p>2024-07-25 <a href="20240725-Log4j-At-Community-Over-Code-2024.html" class="xref page">Apache Log4j at Community Over Code 2024 in Bratislava</a></p>
-</li>
-<li>
-<p>2023-12-18 <a href="20231218-20-years-of-innovation.html" class="xref page">Two Decades of Apache Log4j: A Journey of Resilience and Innovation</a></p>
-</li>
-<li>
-<p>2023-12-14 <a href="20231214-announcing-support-from-the-stf.html" class="xref page">Receiving Support from the Sovereign Tech Fund</a></p>
-</li>
-<li>
-<p>2023-12-02 <a href="20231202-apache-common-logging-1.3.0.html" class="xref page">Apache Commons Logging</a></p>
-</li>
-<li>
-<p>2023-11-28 <a href="20231128-new-pmc-member.html" class="xref page">Welcoming Stephen Webb to the Apache Logging Services community</a></p>
-</li>
-<li>
-<p>2023-11-17 <a href="20231117-flume-joins-logging-services.html" class="xref page">Welcoming the Apache Flume Team to Apache Logging Services</a></p>
-</li>
-</ul>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../_/js/site.js" data-ui-root-path="../_"></script>
-<script async src="../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/charter.html b/charter.html
deleted file mode 100644
index 06b2b9fb..00000000
--- a/charter.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Charter :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/charter.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li>About</li>
-    <li><a href="charter.html">Charter</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/charter.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Charter</h1>
-<div class="paragraph">
-<p>On December 17th, 2003, the Apache Board voted to establish the Apache Logging Services Project.
-The following is an extract from <a href="https://www.apache.org/foundation/records/minutes/2003/board_minutes_2003_12_17.txt">the minutes of the meeting of the board of directors</a>.</p>
-</div>
-<div class="quoteblock">
-<blockquote>
-<div class="paragraph">
-<p><strong>WHEREAS,</strong> the Board of Directors deems it to be in the best interests of the Foundation and consistent with the Foundation&#8217;s purpose to establish a Project Management Committee charged with the creation and maintenance of open-source software related to the logging of application behavior, for distribution at no charge to the public.</p>
-</div>
-<div class="paragraph">
-<p><strong>NOW, THEREFORE, BE IT RESOLVED,</strong> that a Project Management Committee (PMC), to be known as the "Apache Logging Services PMC," be and hereby is established pursuant to Bylaws of the Foundation; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the Apache Logging Services PMC be and hereby is responsible for the creation and maintenance of software for managing the logging of application behavior, and for related software components, based on software licensed to the Foundation; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the office of "Vice President, Apache Logging Services" be and hereby is created, the person holding such office to serve at the direction of the Board of Directors as the chair of the Apache Logging Services PMC, and to have primary responsibility for management of the projects within the scope of responsibility of the Apache Logging Services PMC; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the persons listed immediately below be and hereby are appointed to serve as the initial members of the Apache Logging Services PMC:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Scott Deboy</p>
-</li>
-<li>
-<p>Ceki Gülcü</p>
-</li>
-<li>
-<p>Jacob Kjome</p>
-</li>
-<li>
-<p>Yoav Shapira</p>
-</li>
-<li>
-<p>Paul Smith</p>
-</li>
-<li>
-<p>Mark Womack</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p><strong>NOW, THEREFORE, BE IT FURTHER RESOLVED,</strong> that Mr. Ceki Gülcü be and hereby is appointed to the office of Vice President, Apache Logging Services, to serve in accordance with and subject to the direction of the Board of Directors and the Bylaws of the Foundation until death, resignation, retirement, removal or disqualification, or until a successor is appointed; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the initial Apache Logging Services PMC be and hereby is tasked with the creation of a set of bylaws intended to encourage open development and increased participation in the Apache Logging Services Project; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the initial Logging Services PMC be and hereby is tasked with the migration and rationalization of the log4j Apache Jakarta subproject; and be it further</p>
-</div>
-<div class="paragraph">
-<p><strong>RESOLVED,</strong> that the initial Logging Services PMC be and hereby is tasked with the migration and integration of the sister projects, namely but not exclusively, Log4Perl, Log4Net, Log4Cxx (c++), Log4CPlus, Log4PHP and Log4plsql, subject to the will and approval of the respective project owners and communities.</p>
-</div>
-<div class="paragraph">
-<p>This was passed by Unanimous Vote.</p>
-</div>
-</blockquote>
-<div class="attribution">
-&#8212; Establishment of the Apache Logging Services Project
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/cyclonedx/vdr.xml b/cyclonedx/vdr.xml
deleted file mode 100644
index c6e4acf8..00000000
--- a/cyclonedx/vdr.xml
+++ /dev/null
@@ -1,641 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to you under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<!-- This file is a Vulnerability Disclosure Report (VDR) covering all Apache Logging Services[1] projects.
-     This file adheres to the CycloneDX SBOM specification[2].
-
-     The latest version of this file can be found at https://logging.apache.org/cyclonedx/vdr.xml
-
-     All Apache Logging Services projects (e.g., Log4j) generate SBOMs containing `vulnerability-assertion` entries with links to this file.
-
-     If you need help in addressing these vulnerabilities, suggestions/corrections on the content, and/or reporting new vulnerabilities, please refer to the Log4j support page[3].
-
-     This file is maintained in version control[4].
-
-     To update the VDR:
-     1. Increment the `version` attribute in the `<bom>` element.
-     2. Update the `<timestamp>` element in the `<metadata>` section
-        to the current UTC date and time.
-     3. For each modified `<vulnerability>`, update its `<updated>` element.
-
-     [1] https://logging.apache.org
-     [2] https://cyclonedx.org
-     [3] https://logging.apache.org/log4j/2.x/support.html
-     [4] https://github.com/apache/logging-site/tree/cyclonedx
-     -->
-<bom xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xmlns="http://cyclonedx.org/schema/bom/1.6"
-     xsi:schemaLocation="http://cyclonedx.org/schema/bom/1.6 https://cyclonedx.org/schema/bom-1.6.xsd"
-     version="5"
-     serialNumber="urn:uuid:dfa35519-9734-4259-bba1-3e825cf4be06">
-
-  <metadata>
-    <timestamp>2025-12-18T16:09:38Z</timestamp>
-    <manufacturer>
-      <name>Apache Logging Services</name>
-      <url>https://logging.apache.org</url>
-    </manufacturer>
-  </metadata>
-
-  <!-- We add *dummy* components to refer to in `affects` blocks.
-       This is necessary, since not all Log4j components have SBOMs associated with them. -->
-  <components>
-    <component type="library" bom-ref="log4cxx">
-      <name>Apache Log4cxx</name>
-    </component>
-    <component type="library" bom-ref="pkg:maven/org.apache.logging.log4j/log4j-core?type=jar">
-      <group>org.apache.logging.log4j</group>
-      <name>log4j-core</name>
-      <cpe>cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*</cpe>
-      <purl>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</purl>
-    </component>
-  </components>
-
-  <vulnerabilities>
-
-    <vulnerability>
-        <id>CVE-2025-68161</id>
-        <source>
-            <name>NVD</name>
-            <url>https://nvd.nist.gov/vuln/detail/CVE-2025-68161</url>
-        </source>
-        <ratings>
-            <rating>
-                <source>
-                    <name>The Apache Software Foundation</name>
-                    <url>
-                        <![CDATA[https://www.first.org/cvss/calculator/4-0#CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N]]></url>
-                </source>
-                <score>6.3</score>
-                <severity>medium</severity>
-                <method>CVSSv4</method>
-                <vector>AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N</vector>
-            </rating>
-        </ratings>
-        <cwes>
-            <cwe>297</cwe>
-        </cwes>
-        <description><![CDATA[The Socket Appender in Apache Log4j Core versions `2.0-beta9` through `2.25.2` does not perform TLS hostname verification of the peer certificate, even when the
-https://logging.apache.org/log4j/2.x/manual/appenders/network.html#SslConfiguration-attr-verifyHostName[`verifyHostName`]
-configuration attribute or the
-https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.sslVerifyHostName[`log4j2.sslVerifyHostName`]
-system property is set to `true`.
-
-This issue may allow a man-in-the-middle attacker to intercept or redirect log traffic under the following conditions:
-
-* The attacker is able to intercept or redirect network traffic between the client and the log receiver.
-* The attacker can present a server certificate issued by a certification authority trusted by the Socket Appender’s configured trust store (or by the default Java trust store if no custom trust store is configured).]]></description>
-        <recommendation><![CDATA[Users are advised to upgrade to Apache Log4j Core version `2.25.3`, which fully addresses this issue.
-
-For earlier versions, the risk can be reduced by carefully restricting the trust store used by the Socket Appender.]]></recommendation>
-        <created>2025-12-18T16:09:38Z</created>
-        <published>2025-12-18T16:09:38Z</published>
-        <updated>2025-12-18T16:09:38Z</updated>
-        <affects>
-            <target>
-                <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-                <versions>
-                    <version>
-                        <range><![CDATA[vers:maven/>=2.0-beta9|<2.25.3]]></range>
-                    </version>
-                </versions>
-            </target>
-        </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2025-54813</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2025-54813</url>
-      </source>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url>
-              https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator?vector=AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
-            </url>
-          </source>
-          <score>6.3</score>
-          <severity>medium</severity>
-          <method>CVSSv4</method>
-          <vector>AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>117</cwe>
-      </cwes>
-      <description><![CDATA[When using `JSONLayout`, not all payload bytes are properly escaped.
-If an attacker-supplied message contains certain non-printable characters, these will be passed along in the message and written out as part of the JSON message.
-This may prevent applications that consume these logs from correctly interpreting the information within them.]]></description>
-      <recommendation>
-        <![CDATA[Users are recommended to upgrade to version `1.5.0`, which fixes the issue.]]></recommendation>
-      <created>2025-08-22T07:31:10Z</created>
-      <published>2025-08-22T07:31:10Z</published>
-      <updated>2025-08-22T07:31:10Z</updated>
-      <credits>
-        <organizations>
-          <organization>
-            <name>Sovereign Tech Agency</name>
-            <url>https://www.sovereign.tech/</url>
-          </organization>
-        </organizations>
-      </credits>
-      <affects>
-        <target>
-          <ref>logcxx</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:semver>=0.11.0|<1.5.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2025-54812</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2025-54812</url>
-      </source>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url>
-              https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator?vector=AV:N/AC:H/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
-            </url>
-          </source>
-          <score>2.1</score>
-          <severity>low</severity>
-          <method>CVSSv4</method>
-          <vector>AV:N/AC:H/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>117</cwe>
-      </cwes>
-      <description><![CDATA[When using `HTMLLayout`, logger names are not properly escaped when writing out to the HTML file.
-If untrusted data is used to retrieve the name of a logger, an attacker could theoretically inject HTML or Javascript in order to hide information from logs or steal data from the user.
-In order to activate this, the following sequence must occur:
-
-* Log4cxx is configured to use `HTMLLayout`.
-* Logger name comes from an untrusted string.
-* Logger with compromised name logs a message.
-* User opens the generated HTML log file in their browser, leading to potential XSS.
-
-Because logger names are generally constant strings, we assess the impact to users as LOW.]]></description>
-      <recommendation>
-        <![CDATA[Users are recommended to upgrade to version `1.5.0`, which fixes the issue.]]></recommendation>
-      <created>2025-08-22T07:31:10Z</created>
-      <published>2025-08-22T07:31:10Z</published>
-      <updated>2025-08-22T07:31:10Z</updated>
-      <credits>
-        <organizations>
-          <organization>
-            <name>Sovereign Tech Agency</name>
-            <url>https://www.sovereign.tech/</url>
-          </organization>
-        </organizations>
-      </credits>
-      <affects>
-        <target>
-          <ref>logcxx</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:semver<1.5.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2021-44832</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2021-44832</url>
-      </source>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url>
-              <![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H&version=3.1]]></url>
-          </source>
-          <score>6.6</score>
-          <severity>medium</severity>
-          <method>CVSSv3</method>
-          <vector>AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>20</cwe>
-        <cwe>74</cwe>
-      </cwes>
-      <description><![CDATA[An attacker with write access to the logging configuration can construct a malicious configuration using a JDBC Appender with a data source referencing a JNDI URI which can execute remote code.
-This issue is fixed by limiting JNDI data source names to the `java` protocol.]]></description>
-      <recommendation><![CDATA[Upgrade to `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.17.0` (for Java 8 and later).
-
-In prior releases confirm that if the JDBC Appender is being used it is not configured to use any protocol other than `java`.]]></recommendation>
-      <created>2021-12-28T00:00:00Z</created>
-      <published>2021-12-28T00:00:00Z</published>
-      <updated>2025-08-17T11:18:06Z</updated>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-beta7|<2.3.1]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.4|<2.12.3]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.13.0|<2.17.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2021-45105</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2021-45105</url>
-      </source>
-      <references>
-        <reference>
-          <id>LOG4J2-3230</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-3230</url>
-          </source>
-        </reference>
-      </references>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url>
-              <![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H&version=3.1]]></url>
-          </source>
-          <score>5.9</score>
-          <severity>medium</severity>
-          <method>CVSSv3</method>
-          <vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>20</cwe>
-        <cwe>674</cwe>
-      </cwes>
-      <description><![CDATA[Log4j versions `2.0-alpha1` through `2.16.0` (excluding `2.3.1` and `2.12.3`), did not protect from uncontrolled recursion that can be implemented using self-referential lookups.
-When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, `$${ctx:loginId}`), attackers with control over Thread Context Map (MDC) input data can craft malicious input data that contains a recursive lookup, resulting in a `StackOverflowError` that will terminate the process.]]></description>
-      <recommendation><![CDATA[Upgrade to `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.17.0` (for Java 8 and later).
-
-Alternatively, this infinite recursion issue can be mitigated in configuration:
-
-* In PatternLayout in the logging configuration, replace Context Lookups like `${ctx:loginId}` or `$${ctx:loginId}` with Thread Context Map patterns (`%X`, `%mdc`, or `%MDC`).
-* Otherwise, in the configuration, remove references to Context Lookups like `${ctx:loginId}` or `$${ctx:loginId}` where they originate
-from sources external to the application such as HTTP headers or user input.
-Note that this mitigation is insufficient in releases older than `2.12.2` (for Java 7), and `2.16.0` (for Java 8 and later) as the issues fixed in those releases will still be present.]]></recommendation>
-      <created>2021-12-18T00:00:00Z</created>
-      <published>2021-12-18T00:00:00Z</published>
-      <updated>2022-10-06T00:00:00Z</updated>
-      <credits>
-        <individuals>
-          <individual>
-            <name>Hideki Okamoto</name>
-          </individual>
-          <individual>
-            <name>Guy Lederfein</name>
-          </individual>
-        </individuals>
-      </credits>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-alpha1|<2.3.1]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.4|<2.12.3]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.13.0|<2.17.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2021-45046</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2021-45046</url>
-      </source>
-      <references>
-        <reference>
-          <id>LOG4J2-3221</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-3221</url>
-          </source>
-        </reference>
-      </references>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url>
-              <![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H&version=3.1]]></url>
-          </source>
-          <score>9.0</score>
-          <severity>critical</severity>
-          <method>CVSSv3</method>
-          <vector>AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>917</cwe>
-      </cwes>
-      <description><![CDATA[It was found that the fix to address CVE-2021-44228 in Log4j `2.15.0` was incomplete in certain non-default configurations.
-When the logging configuration uses a non-default Pattern Layout with a Thread Context Lookup (for example, `$${ctx:loginId}`), attackers with control over Thread Context Map (MDC) can craft malicious input data using a JNDI Lookup pattern, resulting in an information leak and remote code execution in some environments and local code execution in all environments.
-Remote code execution has been demonstrated on macOS, Fedora, Arch Linux, and Alpine Linux.
-
-Note that this vulnerability is not limited to just the JNDI lookup.
-Any other Lookup could also be included in a Thread Context Map variable and possibly have private details exposed to anyone with access to the logs.]]></description>
-      <recommendation><![CDATA[Upgrade to Log4j `2.3.1` (for Java 6), `2.12.3` (for Java 7), or `2.16.0` (for Java 8 and later).]]></recommendation>
-      <created>2021-12-14T00:00:00Z</created>
-      <published>2021-12-14T00:00:00Z</published>
-      <updated>2025-08-17T11:18:06Z</updated>
-      <credits>
-        <individuals>
-          <individual>
-            <name>Kai Mindermann</name>
-          </individual>
-          <individual>
-            <name>4ra1n</name>
-          </individual>
-          <individual>
-            <name>Ash Fox</name>
-          </individual>
-          <individual>
-            <name>Alvaro Muñoz</name>
-          </individual>
-          <individual>
-            <name>Tony Torralba</name>
-          </individual>
-          <individual>
-            <name>Anthony Weems</name>
-          </individual>
-          <individual>
-            <name>RyotaK</name>
-          </individual>
-        </individuals>
-      </credits>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-beta9|<2.3.1]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.4|<2.12.3]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.13.0|<2.16.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2021-44228</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2021-44228</url>
-      </source>
-      <references>
-        <reference>
-          <id>LOG4J2-3198</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-3198</url>
-          </source>
-        </reference>
-        <reference>
-          <id>LOG4J2-3201</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-3201</url>
-          </source>
-        </reference>
-      </references>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url><![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H&version=3.1]]></url>
-          </source>
-          <score>10.0</score>
-          <severity>critical</severity>
-          <method>CVSSv3</method>
-          <vector>AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>20</cwe>
-        <cwe>400</cwe>
-        <cwe>502</cwe>
-        <cwe>917</cwe>
-      </cwes>
-      <description><![CDATA[In Log4j, the JNDI features used in configurations, log messages, and parameters do not protect against attacker-controlled LDAP and other JNDI related endpoints.
-An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers.]]></description>
-      <recommendation><![CDATA[Upgrade to Log4j `2.3.1` (for Java 6), `2.12.2` (for Java 7), or `2.15.0` (for Java 8 and later).]]></recommendation>
-      <created>2021-12-10T00:00:00Z</created>
-      <published>2021-12-10T00:00:00Z</published>
-      <updated>2025-08-17T11:18:06Z</updated>
-      <credits>
-        <individuals>
-          <individual>
-            <name>Chen Zhaojun</name>
-          </individual>
-        </individuals>
-      </credits>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-beta9|<2.3.1]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.4|<2.12.2]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.13.0|<2.15.0]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2020-9488</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2020-9488</url>
-      </source>
-      <references>
-        <reference>
-          <id>LOG4J2-2819</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-2819</url>
-          </source>
-        </reference>
-      </references>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url><![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N&version=3.1]]></url>
-          </source>
-          <score>3.7</score>
-          <severity>low</severity>
-          <method>CVSSv3</method>
-          <vector>AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>295</cwe>
-      </cwes>
-      <description><![CDATA[Improper validation of certificate with host mismatch in SMTP appender.
-This could allow an SMTPS connection to be intercepted by a man-in-the-middle attack which could leak any log
-messages sent through that appender.
-
-The reported issue was caused by an error in `SslConfiguration`.
-Any element using `SslConfiguration` in the Log4j `Configuration` is also affected by this issue.
-This includes `HttpAppender`, `SocketAppender`, and `SyslogAppender`.
-Usages of `SslConfiguration` that are configured via system properties are not affected.]]></description>
-      <recommendation><![CDATA[Upgrade to `2.3.2` (Java 6), `2.12.3` (Java 7) or `2.13.2` (Java 8 and later).
-
-Alternatively, users can set the `mail.smtp.ssl.checkserveridentity` system property to `true` to enable SMTPS hostname verification for all SMTPS mail sessions.]]></recommendation>
-      <created>2017-04-27T00:00:00Z</created>
-      <published>2017-04-27T00:00:00Z</published>
-      <updated>2025-08-17T11:18:06Z</updated>
-      <credits>
-        <individuals>
-          <individual>
-            <name>Peter Stöckli</name>
-          </individual>
-        </individuals>
-      </credits>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-beta1|<2.3.2]]></range>
-            </version>
-            <version>
-              <range><![CDATA[vers:maven/>=2.4|<2.12.3]]></range>
-            </version>
-            <version>
-              <version><![CDATA[vers:maven/>=2.13.0|<2.13.2]]></version>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-    <vulnerability>
-      <id>CVE-2017-5645</id>
-      <source>
-        <name>NVD</name>
-        <url>https://nvd.nist.gov/vuln/detail/CVE-2017-5645</url>
-      </source>
-      <references>
-        <reference>
-          <id>LOG4J2-1863</id>
-          <source>
-            <name>Issue tracker</name>
-            <url>https://issues.apache.org/jira/browse/LOG4J2-1863</url>
-          </source>
-        </reference>
-        <reference>
-          <id>the security fix commit</id>
-          <source>
-            <name>Source code repository</name>
-            <url>https://github.com/apache/logging-log4j2/commit/5dcc192</url>
-          </source>
-        </reference>
-      </references>
-      <ratings>
-        <rating>
-          <source>
-            <name>NVD</name>
-            <url><![CDATA[https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?vector=(AV:N/AC:L/Au:N/C:P/I:P/A:P)&version=2.0]]></url>
-          </source>
-          <score>7.5</score>
-          <severity>high</severity>
-          <method>CVSSv2</method>
-          <vector>AV:N/AC:L/Au:N/C:P/I:P/A:P</vector>
-        </rating>
-      </ratings>
-      <cwes>
-        <cwe>502</cwe>
-      </cwes>
-      <description><![CDATA[When using the TCP socket server or UDP socket server to receive serialized log events from another application, a specially crafted binary payload can be sent that, when deserialized, can execute arbitrary code.]]></description>
-      <recommendation><![CDATA[Java 7 and above users should migrate to version `2.8.2` or avoid using the socket server classes.
-Java 6 users should avoid using the TCP or UDP socket server classes, or they can manually backport the security fix commit[1] from `2.8.2`.
-
-[1] https://github.com/apache/logging-log4j2/commit/5dcc192]]></recommendation>
-      <created>2017-04-17T00:00:00Z</created>
-      <published>2017-04-17T00:00:00Z</published>
-      <updated>2022-04-04T00:00:00Z</updated>
-      <credits>
-        <individuals>
-          <individual>
-            <name>Marcio Almeida de Macedo</name>
-          </individual>
-        </individuals>
-      </credits>
-      <affects>
-        <target>
-          <ref>pkg:maven/org.apache.logging.log4j/log4j-core?type=jar</ref>
-          <versions>
-            <version>
-              <range><![CDATA[vers:maven/>=2.0-alpha1|<2.8.2]]></range>
-            </version>
-          </versions>
-        </target>
-      </affects>
-    </vulnerability>
-
-  </vulnerabilities>
-
-</bom>
diff --git a/doaps/doap_Log4j.rdf b/doaps/doap_Log4j.rdf
deleted file mode 100644
index 5453e135..00000000
--- a/doaps/doap_Log4j.rdf
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl"?>
-<rdf:RDF xml:lang="en"
-         xmlns="http://usefulinc.com/ns/doap#" 
-         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
-         xmlns:asfext="http://projects.apache.org/ns/asfext#"
-         xmlns:foaf="http://xmlns.com/foaf/0.1/">
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-   
-         https://www.apache.org/licenses/LICENSE-2.0
-   
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-  <Project rdf:about="https://logging.apache.org/log4j">
-    <created>1999-01-01</created>
-    <license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
-    <name>Apache Log4j</name>
-    <homepage rdf:resource="https://logging.apache.org/log4j/2.x/index.html" />
-    <asfext:pmc rdf:resource="https://logging.apache.org" />
-    <shortdesc>Apache Log4j is a versatile, feature-rich, efficient logging API and backend for Java.</shortdesc>
-    <bug-database rdf:resource="https://github.com/apache/logging-log4j2/issues" />
-    <mailing-list rdf:resource="https://logging.apache.org/support.html" />
-    <download-page rdf:resource="https://logging.apache.org/log4j/2.x/download.html" />
-    <programming-language>Java</programming-language>
-    <category rdf:resource="https://projects.apache.org/category/library" />
-    <repository>
-      <GitRepository>
-        <location rdf:resource="https://github.com/apache/logging-log4j2.git"/>
-        <browse rdf:resource="https://github.com/apache/logging-log4j2/"/>
-      </GitRepository>
-    </repository>
-  </Project>
-</rdf:RDF>
-
diff --git a/download.html b/download.html
deleted file mode 100644
index 8adb8fc4..00000000
--- a/download.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Download :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/download.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item is-current-page" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li><a href="download.html">Download</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/download.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Download</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>You can use one of the following channels to download the Logging Services release distributions.</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>All Logging Services projects distribute convenience binaries that are easy to install for the programming language platform they target.
-You are strongly advised to <strong>check the installation instructions in the website of the project</strong> (<a href="/log4cxx">Log4cxx</a>, <a href="/log4j">Log4j</a>, <a href="/log4net">Log4net</a>, etc.) you are trying to install.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Official distribution channels</dt>
-<dd>
-<p>In accordance with the Apache Software Foundation&#8217;s release <a href="https://infra.apache.org/release-distribution.html">distribution policy</a> and <a href="https://infra.apache.org/release-publishing.html">creation process</a>, all Logging Services release distributions are <em>officially</em> accessible from the following channels:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>ASF <a href="https://downloads.apache.org/logging">Distribution directory</a> (contains <strong>the most recent releases</strong>)</p>
-</li>
-<li>
-<p>ASF <a href="https://archive.apache.org/dist/logging">Distribution directory <strong>archive</strong></a> (contains all published releases)</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Java distribution channels</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>ASF <a href="https://repository.apache.org/content/repositories/releases">Release</a> and <a href="https://repository.apache.org/content/repositories/snapshots">snapshot</a> Nexus repositories (mirrored to <a href="https://central.sonatype.dev/">the Maven Central Repository</a>)</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">.NET distribution channels</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://www.nuget.org/profiles/asf"><code>asf</code> organization in NuGet</a></p>
-</li>
-</ul>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="verify"><a class="anchor" href="#verify"></a>Verification</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>All Logging Services release distributions are digitally signed by the release manager and provided with checksum files.
-You can verify a distribution by following instructions:</p>
-</div>
-<div id="_tabs_1" class="openblock tabs is-loading">
-<div class="content">
-<div class="ulist tablist">
-<ul>
-<li id="_tabs_1_linuxmacos" class="tab">
-<p>Linux/macOS</p>
-</li>
-<li id="_tabs_1_windows" class="tab">
-<p>Windows</p>
-</li>
-</ul>
-</div>
-<div id="_tabs_1_linuxmacos--panel" class="tabpanel" aria-labelledby="_tabs_1_linuxmacos">
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># Download and import the release manager public keys
-wget -O - https://downloads.apache.org/logging/KEYS | gpg --import
-
-# Verify signatures
-for sigFile in *.asc; do gpg --verify $sigFile ${sigFile%.asc}; done
-
-# Verify checksums
-shasum --check *.sha512</code></pre>
-</div>
-</div>
-</div>
-<div id="_tabs_1_windows--panel" class="tabpanel" aria-labelledby="_tabs_1_windows">
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Download <a href="https://downloads.apache.org/logging/KEYS">the release manager public keys</a></p>
-</li>
-<li>
-<p>Use <code>gpg --import</code> to import the keys</p>
-</li>
-<li>
-<p>Verify signature files: <code>gpg --verify some.file.asc some.file</code></p>
-</li>
-<li>
-<p>Verify checksums: <code>certUtil -hashfile some.file SHA512</code></p>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="sbom"><a class="anchor" href="#sbom"></a>Software Bill of Materials (SBOM)</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Many Logging Services projects distribute <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Software Bill of Materials (SBOM)</a> along with each deployed artifact.
-This is streamlined by <a href="/logging-parent">Logging Parent</a> for Maven-based projects.</p>
-</div>
-<div class="paragraph">
-<p>Produced SBOMs contain BOM-links referring to a <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Vulnerability Disclosure Report (VDR)</a> that Apache Logging Services uses for all projects it maintains.
-This VDR is accessible through the following URL: <a href="https://logging.apache.org/cyclonedx/vdr.xml" class="bare">https://logging.apache.org/cyclonedx/vdr.xml</a></p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/guidelines.html b/guidelines.html
deleted file mode 100644
index 4233054c..00000000
--- a/guidelines.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Guidelines :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/guidelines.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item is-current-page" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li>About</li>
-    <li><a href="guidelines.html">Guidelines</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/guidelines.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Guidelines</h1>
-<div class="paragraph">
-<p>Logging Services is a <em>project</em> of the <a href="https://apache.org">Apache Software Foundation</a> (ASF) and composed of several <em>subprojects</em>; Log4cxx, Log4j, Log4Net, etc.
-Logging Services <em>Project Management Committee (PMC)</em> is responsible for the management of the project and all its subprojects.
-Committers and PMC members are elected due to merit for the evolution of the project.
-Changes and releases are subject to voting.
-All ASF projects are operated using this governance model, which is further documented in the following pages:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://apache.org/foundation/how-it-works">How the ASF works</a></p>
-</li>
-<li>
-<p><a href="http://www.apache.org/foundation/faq.html">The ASF FAQ</a></p>
-</li>
-</ul>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/index.html b/index.html
deleted file mode 100644
index f3735855..00000000
--- a/index.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Apache Logging Services :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/index.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link is-current"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li><a href="index.html">Apache Logging Services</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/index.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Apache Logging Services</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Logging Services project creates and maintains open-source software related to the logging of application behavior and released at no charge to the public.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="shortcuts"><a class="anchor" href="#shortcuts"></a>Shortcuts</h2>
-<div class="sectionbody">
-<div class="ulist">
-<ul>
-<li>
-<p><a href="what-is-logging.html" class="xref page">What is logging?</a></p>
-</li>
-<li>
-<p><a href="support.html" class="xref page">Get <strong>support</strong> for subprojects</a></p>
-</li>
-<li>
-<p><a href="download.html" class="xref page"><strong>Download</strong> subprojects</a></p>
-</li>
-<li>
-<p><a href="security.html" class="xref page">Vulnerabilities and threat model</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="subprojects"><a class="anchor" href="#subprojects"></a>Subprojects</h2>
-<div class="sectionbody">
-<div class="dlist">
-<dl>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j">Log4j®</a></dt>
-<dd>
-<p>A versatile, industrial-grade Java logging framework composed of an API, its implementation, and components to assist the deployment for various use cases.</p>
-<div class="dlist">
-<dl>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j/kotlin">Log4j® Kotlin</a></dt>
-<dd>
-<p>A Kotlin-friendly interface to log against the Log4j® API.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j/kotlin">Log4j® Scala</a></dt>
-<dd>
-<p>A Scala-friendly interface to log against the Log4j® API.</p>
-</dd>
-</dl>
-</div>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4cxx">Log4cxx</a></dt>
-<dd>
-<p>A logging framework for C++ patterned after Log4j®.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4Net">Log4Net</a></dt>
-<dd>
-<p>A port of the Log4j® to the Microsoft .NET runtime.</p>
-</dd>
-</dl>
-</div>
-<details>
-<summary class="title">Click to see list of dormant subprojects</summary>
-<div class="content">
-<div class="dlist">
-<dl>
-<dt class="hdlist1"><a href="https://logging.apache.org/chainsaw">Chainsaw</a></dt>
-<dd>
-<p>A GUI-based log viewer intended as a companion to Log4j®.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/flume">Flume</a></dt>
-<dd>
-<p>Distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j/1.x">Log4j® 1</a></dt>
-<dd>
-<p>The very first Log4j® major release.
-Reached End-Of-Life in August 2015.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j-audit/latest">Log4j® Audit</a></dt>
-<dd>
-<p>Audit logging framework built upon Apache Log4j®.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4j/extras">Log4j® Extras</a></dt>
-<dd>
-<p>Extras for Log4j® 1; companions, receivers, and more.</p>
-</dd>
-<dt class="hdlist1"><a href="https://logging.apache.org/log4php">Log4php</a></dt>
-<dd>
-<p>A versatile logging framework for PHP.
-Originally a port of Log4j® to PHP, it has grown to include various PHP specific features.</p>
-</dd>
-</dl>
-</div>
-</div>
-</details>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/processes.html b/processes.html
deleted file mode 100644
index ec1a0567..00000000
--- a/processes.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Processes :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/processes.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li>About</li>
-    <li><a href="processes.html">Processes</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/processes.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Processes</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>Here we describe some of the processes we use.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_retire_a_subproject_or_component"><a class="anchor" href="#_retire_a_subproject_or_component"></a>Retire a subproject or component</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The process starts by a format vote by the PMC on the main development mailing list.
-Basically, we have to announce it and make resources read-only.</p>
-</div>
-<div class="sect2">
-<h3 id="_version_control"><a class="anchor" href="#_version_control"></a>Version control</h3>
-<div class="paragraph">
-<p>Most of our source code is in git, only "site" and "sandbox" use GIT.
-We place a marker RETIRED_PROJECT file on the top level.
-Add a note at the top of a README file as well so it is immediately visible
-to people browsing the GitHub mirror. Include a link to this page for a
-possible future reactivation and a link to the vote result.
-Ask infra to make the repository read-only.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_issue_tracker"><a class="anchor" href="#_issue_tracker"></a>Issue tracker</h3>
-<div class="paragraph">
-<p>If the subproject/component has its own issue tracker, we have to close that.
-It is enough to make it read-only, so these information are longer available.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_mailing_list"><a class="anchor" href="#_mailing_list"></a>Mailing list</h3>
-<div class="paragraph">
-<p>If the subproject/component has its own mailing list, we have to close this.
-We should send a final email.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_announce_retirement"><a class="anchor" href="#_announce_retirement"></a>Announce retirement</h3>
-<div class="paragraph">
-<p>We have to announce the retirement of the subproject at dev@, users@ and the Logging blog main page.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_move_section_of_the_landing_page"><a class="anchor" href="#_move_section_of_the_landing_page"></a>Move section of the landing page</h3>
-<div class="paragraph">
-<p>Move the project from the landing page to the "Dormant projects".</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_homepage"><a class="anchor" href="#_homepage"></a>Homepage</h3>
-<div class="paragraph">
-<p>Add the retirement to the archive page.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_releases"><a class="anchor" href="#_releases"></a>Releases</h3>
-<div class="paragraph">
-<p>The last released artifacts, if any, should be removed from the Apache
-distribution server. To do so, remove any artifact related to the retired
-subproject in dist.apache.org (it is managed with subversion).
-Note: as every Apache release, nothing is deleted but everything is archived,
-the artifacts will still be available at archive.apache.org
-(or for Incubator releases).</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_reactivate_a_subproject_or_component"><a class="anchor" href="#_reactivate_a_subproject_or_component"></a>Reactivate a subproject or component</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The process starts by a format vote by the Ant PMC on the main development mailing list. Basically, we have to announce it and make resources read-write again.</p>
-</div>
-<div class="sect2">
-<h3 id="_version_control_2"><a class="anchor" href="#_version_control_2"></a>Version control</h3>
-<div class="paragraph">
-<p>Delete the marker file "RETIRED_PROJECT".
-Delete the note at the top of a README file as well so it is
-immediately visible to people browsing the GitHub mirror.
-Ask infra to make the repository read-write again.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_issue_tracker_2"><a class="anchor" href="#_issue_tracker_2"></a>Issue tracker</h3>
-<div class="paragraph">
-<p>If the subproject/component has its own issue tracker, we have to reopen that.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_mailing_list_2"><a class="anchor" href="#_mailing_list_2"></a>Mailing list</h3>
-<div class="paragraph">
-<p>Because reopening implies a smaller community, we should use the
-main mailing list dev@. So reactivating a special list is not required
-and could be postponed to a later PMC decision.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_announcement"><a class="anchor" href="#_announcement"></a>Announcement</h3>
-<div class="paragraph">
-<p>Announce the reactivation of the subproject at dev@.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_build_jobs"><a class="anchor" href="#_build_jobs"></a>Build jobs</h3>
-<div class="paragraph">
-<p>Build jobs, as required.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_move_section_of_the_landing_page_2"><a class="anchor" href="#_move_section_of_the_landing_page_2"></a>Move section of the landing page</h3>
-<div class="paragraph">
-<p>Move the project from the landing page from the "dormant projects" to the "active projects."</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_homepage_2"><a class="anchor" href="#_homepage_2"></a>Homepage</h3>
-<div class="paragraph">
-<p>Remove the component from the archive page.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_releases_2"><a class="anchor" href="#_releases_2"></a>Releases</h3>
-<div class="paragraph">
-<p>No action needed.</p>
-</div>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/security.html b/security.html
deleted file mode 100644
index 4f5b2f82..00000000
--- a/security.html
+++ /dev/null
@@ -1,1268 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Security :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/security.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li><a href="security.html">Security</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/security.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Security</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Logging Services Security Team takes security seriously.
-This allows our users to place their trust in Log4j for protecting their mission-critical data.
-On this page, we will help you find guidance on security-related issues and access to known vulnerabilities.</p>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p><a href="/log4j/1.x">Log4j 1</a> has <a href="https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces">reached End of Life</a> in 2015, and is no longer supported.
-Vulnerabilities reported after August 2015 against Log4j 1 are not checked and will not be fixed.
-Users should <a href="/log4j/2.x/manual/migration.html">upgrade to Log4j 2</a> to obtain security fixes.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="support"><a class="anchor" href="#support"></a>Getting support</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If you need help on building or configuring Logging Services projects or other help on following the instructions to mitigate the known vulnerabilities listed here, please use our <a href="support.html#discussions" class="xref page">user support channels</a>.</p>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>If you need to apply a source code patch, use the building instructions for the project version that you are using.
-These instructions can be found in <code>BUILDING.adoc</code>, <code>BUILDING.md</code>, etc. files distributed with the sources.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="reporting"><a class="anchor" href="#reporting"></a>Reporting vulnerabilities</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If you have encountered an unlisted security vulnerability or other unexpected behaviour that has a security impact, or if the descriptions here are incomplete, please report them <strong>privately</strong> to <a href="mailto:security@logging.apache.org">the Logging Services Security Team</a>.</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>We urge you to <strong>carefully read the threat model</strong> detailed in following sections before submitting a report.
-It guides users on certain safety instructions while using Logging Services software and elaborates on what counts as an unexpected behaviour that has a security impact.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="threat-common"><a class="anchor" href="#threat-common"></a>Common threat model</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>All the logging frameworks maintained by Apache Logging Services (<a href="https://logging.apache.org/log4cxx/index.html">Log4cxx</a>,
-<a href="https://logging.apache.org/log4j/index.html">Log4j</a>
-and
-<a href="https://logging.apache.org/log4net/index.html">Log4net</a>) face similar challenges from malicious actors.
-The following sections outline the most common threats to logging frameworks and clarify the assumptions regarding the origin and trustworthiness of various data sources.
-Vulnerability reports that do not adhere to these assumptions will not be accepted and are <strong>not</strong> eligible for the <a href="https://yeswehack.com/programs/log4j-bug-bounty-program">YesWeHack Bug Bounty Program</a>.</p>
-</div>
-<div class="sect2">
-<h3 id="threat-common-users"><a class="anchor" href="#threat-common-users"></a>User types</h3>
-<div class="paragraph">
-<p>Apache Logging Services distinguishes two kinds of users:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Trusted Users</dt>
-<dd>
-<div class="paragraph">
-<p>Application developers and administrators are considered <strong>trusted</strong> users.
-They have unrestricted access to all the features of the logging framework and the environment it is deployed to.</p>
-</div>
-</dd>
-<dt class="hdlist1">Untrusted Users</dt>
-<dd>
-<div class="paragraph">
-<p>All the other users are considered untrusted.</p>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="sect2">
-<h3 id="threat-common-sources"><a class="anchor" href="#threat-common-sources"></a>Data sources</h3>
-<div class="paragraph">
-<p>Logging systems read data from multiple sources that are controlled by both trusted and untrusted users:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Trusted Sources</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>Log4cxx, Log4j, and Log4net <strong>trust</strong> environment variables, configuration properties, and configuration files.
-To maintain security, the following responsibilities fall on the deployer:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>Ensure that untrusted parties do not have write access to these resources.</p>
-</li>
-<li>
-<p>Ensure these resources are transmitted only over <strong>confidential</strong> channels (e.g., HTTPS, secure file systems).</p>
-</li>
-<li>
-<p>Be aware that <strong>non-confidential</strong> channels such as HTTP or JMX are <strong>disabled by default</strong> to prevent accidental exposure.</p>
-</li>
-<li>
-<p>If configuration files use interpolation features (e.g., (<a href="https://logging.apache.org/log4j/2.x/manual/lookups.html">Log4j Lookups</a>)), ensure that only trusted data sources are used.</p>
-</li>
-<li>
-<p>Pay special attention to values stored in the context map (see <a href="https://logging.apache.org/log4j/2.x/manual/thread-context.html">Thread Context in Log4j</a>).
-Although the context map is only accessible by developers, it has been known to include user-provided data, such as HTTP headers, which can introduce risks.</p>
-</li>
-</ul>
-</div>
-</li>
-<li>
-<p>The logging frameworks <strong>trust</strong> that the objects passed to the log statements can be safely converted to strings:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>These frameworks should not be used to log deserialized data from untrusted sources.
-See <a href="https://owasp.org/www-community/vulnerabilities/Deserialization_of_untrusted_data">the related OWASP guide</a> for details.</p>
-</li>
-</ul>
-</div>
-</li>
-<li>
-<p>If parameterized logging is used, the format string is <strong>trusted</strong>:</p>
-<div class="ulist">
-<ul>
-<li>
-<p>Programmers <strong>should</strong> use compile-time constants as format strings to prevent attackers from tampering messages.
-See <a href="https://logging.apache.org/log4j/2.x/manual/api.html#best-practice-concat">Don&#8217;t use string concatenation</a> for an example.</p>
-</li>
-</ul>
-</div>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Untrusted Sources</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>Log4cxx, Log4j and Log4net <strong>do not</strong> trust log messages.
-No particular input validation for log messages is necessary.</p>
-</li>
-<li>
-<p>They <strong>do not</strong> trust the string representation of log parameters.</p>
-</li>
-<li>
-<p>The logging frameworks do not trust neither the keys nor the values in the thread context.</p>
-</li>
-</ul>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="sect2">
-<h3 id="threat-common-threat"><a class="anchor" href="#threat-common-threat"></a>Threats</h3>
-<div class="paragraph">
-<p>These are the most commonly encountered threats for users of Log4cxx, Log4j and Log4net:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Log Injection (<a href="https://cwe.mitre.org/data/definitions/117.html">CWE-117</a>)</dt>
-<dd>
-<div class="paragraph">
-<p>Log injection is a common attack vector to hide malicious activity in an application.
-Regarding this threat:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><strong>Unstructured layouts</strong> such as <a href="https://logging.apache.org/log4j/2.x/manual/pattern-layout.html">Pattern Layout in Log4j</a> do <strong>not</strong> protect users from log injection.
-These layouts are meant for <strong>human</strong> and not computer consumption.</p>
-</li>
-<li>
-<p>Log4cxx, Log4j and Log4net <strong>must</strong> prevent log injection in <strong>structured</strong> layouts, such as XML, JSON and RFC 5424.</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Supply chain attacks (<a href="https://cwe.mitre.org/data/definitions/1357.html">CWE-1357</a>)</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>Apache Logging Services projects <strong>do</strong> check the quality of our dependencies.</p>
-</li>
-<li>
-<p>Deprecated components such as the
-<a href="https://logging.apache.org/log4j/2.x/manual/appenders/database.html#CassandraAppender">Cassandra</a>,
-<a href="https://logging.apache.org/log4j/2.x/manual/appenders/message-queue.html#KafkaAppender">Kafka</a>
-and
-<a href="https://logging.apache.org/log4j/2.x/manual/appenders/database.html#CouchDbProvider">CouchDB</a>
-appenders are provided for backward compatibility purposes only.
-While we actively check for vulnerabilities in those components, they are <em>de facto</em> unmaintained, and we discourage their usage in production.</p>
-</li>
-<li>
-<p>All Apache Logging Services are signed with one of the keys in the Logging Services PMC
-<a href="https://downloads.apache.org/logging/KEYS">KEYS file</a>.
-We do <strong>not</strong> support artifacts that do not have a valid signature, and we encourage users to always check the integrity of the downloaded components.
-Additional information on how to verify releases signatures is available on the <a href="download.html" class="xref page">Download page</a></p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Information disclosure (<a href="https://cwe.mitre.org/data/definitions/200.html">CWE-200</a>)</dt>
-<dd>
-<div class="paragraph">
-<p>Since logging frameworks implement information disclosure by design:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>It is up to the deployer to prevent unauthorized access to log files and to ensure that the appropriate log levels are configured.</p>
-</li>
-<li>
-<p>It is up to the programmer to document which log levels and markers <em>might</em> contain sensitive data.
-Attention should be brought to the fact that libraries on which an application depends might have a different log level and marker convention.</p>
-</li>
-<li>
-<p><strong>Log masking</strong> techniques are out-of-scope for Log4cxx, Log4j, and Log4net.
-It is up to the developer to ensure that sensitive data is properly masked <strong>before</strong> it is passed to the logging implementation.
-For this purpose, <strong>third-party</strong> frameworks like
-<a href="https://github.com/palantir/safe-logging">Safe-Logging</a>
-should be used.</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Log reliability (e.g. <a href="https://cwe.mitre.org/data/definitions/778.html">CVE-778</a>)</dt>
-<dd>
-<div class="paragraph">
-<p>Log4j is designed with <strong>reliability</strong> in mind:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>By <strong>default</strong>, Log4j <strong>should</strong> deliver log events to the appropriate resource even during a reconfiguration event or will log an error.</p>
-</li>
-<li>
-<p>While log events will be delivered to a resource, not all resources provide a confirmation mechanism.
-To ensure reliability along the entire logging pipeline, it is up to the deployer to use reliable transmission components:
-files, loopback network sockets or
-<a href="https://logging.apache.org/log4j/2.x/manual/appenders/message-queue.html">message-queue-based systems</a>
-for example.</p>
-</li>
-<li>
-<p>Log4j provides configuration options that discard log events if the load on the application is high.
-Using these options invalidates the reliability guarantees.</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Denial of service (<a href="https://cwe.mitre.org/data/definitions/779.html">CVE-779</a>)</dt>
-<dd>
-<div class="paragraph">
-<p>Since our logging frameworks are designed with reliability in mind:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Our frameworks go to great lengths to minimize performance overhead, minimize latency and maximizing throughput.
-Since a universal solution does not exist, many configuration options exist to adapt the performance characteristics to a specific application.
-See
-<a href="https://logging.apache.org/log4j/2.x/manual/performance.html">Performance</a>
-for more information.</p>
-</li>
-<li>
-<p>It is up to the deployer to ensure that the appenders can keep up with the logs written by using the appropriate appenders and configuring the appropriate level of logs.</p>
-</li>
-<li>
-<p>It is up to the developer to ensure that log statements, which are not enabled, generate minimal overhead.
-See the
-<a href="https://logging.apache.org/log4j/2.x/manual/api.html#best-practice-concat">Log4j API Best Practices</a>, for example.</p>
-</li>
-</ul>
-</div>
-</dd>
-<dt class="hdlist1">Improper neutralization of Special Elements (<a href="https://cwe.mitre.org/data/definitions/138.html">CWE-138</a>)</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>Log4cxx, Log4j, and Log4net <strong>do</strong> allow users to pass untrusted strings to log statements and thread context, except in the format string of parameterized logging, as mentioned above.</p>
-</li>
-</ul>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="policy"><a class="anchor" href="#policy"></a>Vulnerability handling policy</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Logging Services Security Team follows the <a href="https://www.apache.org/security/committers.html">ASF Project Security</a> guide for handling security vulnerabilities.</p>
-</div>
-<div class="paragraph">
-<p>Reported security vulnerabilities are subject to voting (by means of <a href="https://logging.apache.org/guidelines.html"><em>lazy approval</em></a>, preferably) in the private <a href="mailto:security@logging.apache.org">security mailing list</a> before creating a CVE and populating its associated content.
-This procedure involves only the creation of CVEs and blocks neither (vulnerability) fixes, nor releases.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="vdr"><a class="anchor" href="#vdr"></a>Vulnerability Disclosure Report (VDR)</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Many Logging Services projects distribute <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Software Bill of Materials (SBOM)</a> along with each deployed artifact.
-This is streamlined by <a href="/logging-parent">Logging Parent</a> for Maven-based projects.</p>
-</div>
-<div class="paragraph">
-<p>Produced SBOMs contain BOM-links referring to a <a href="https://cyclonedx.org/capabilities/vdr">CycloneDX Vulnerability Disclosure Report (VDR)</a> that Apache Logging Services uses for all projects it maintains.
-This VDR is accessible through the following URL: <a href="https://logging.apache.org/cyclonedx/vdr.xml" class="bare">https://logging.apache.org/cyclonedx/vdr.xml</a></p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="vulnerabilities"><a class="anchor" href="#vulnerabilities"></a>Known vulnerabilities</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Logging Services Security Team believes that accuracy, completeness and availability of security information is essential for our users.
-We choose to pool all information on this one page, allowing easy searching for security vulnerabilities over a range of criteria.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>Version ranges follow the <a href="https://github.com/package-url/vers-spec/blob/main/VERSION-RANGE-SPEC.rst">VERS specification</a>:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Log4cxx: <code>semver</code> scheme</p>
-</li>
-<li>
-<p>Log4j: <code>maven</code> scheme</p>
-</li>
-<li>
-<p>Log4net: <code>nuget</code> scheme</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>For brevity, mathematical interval notation is used, with the union operator (<code>∪</code>) to represent multiple ranges.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect2">
-<h3 id="CVE-2025-68161"><a class="anchor" href="#CVE-2025-68161"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-68161">CVE-2025-68161</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Missing TLS hostname verification in Socket appender</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 4.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">6.3 MEDIUM (CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:L/SA:N)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Apache Log4j Core</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-beta9, 2.25.3)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.25.3</code></p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2025-68161-description"><a class="anchor" href="#CVE-2025-68161-description"></a>Description</h4>
-<div class="paragraph">
-<p>The Socket Appender in Apache Log4j Core versions <code>2.0-beta9</code> through <code>2.25.2</code> does not perform TLS hostname verification of the peer certificate, even when the
-<a href="https://logging.apache.org/log4j/2.x/manual/appenders/network.html#SslConfiguration-attr-verifyHostName"><code>verifyHostName</code></a>
-configuration attribute or the
-<a href="https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.sslVerifyHostName"><code>log4j2.sslVerifyHostName</code></a>
-system property is set to <code>true</code>.</p>
-</div>
-<div class="paragraph">
-<p>This issue may allow a man-in-the-middle attacker to intercept or redirect log traffic under the following conditions:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>The attacker is able to intercept or redirect network traffic between the client and the log receiver.</p>
-</li>
-<li>
-<p>The attacker can present a server certificate issued by a certification authority trusted by the Socket Appender’s configured trust store (or by the default Java trust store if no custom trust store is configured).</p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-68161-remediation"><a class="anchor" href="#CVE-2025-68161-remediation"></a>Remediation</h4>
-<div class="paragraph">
-<p>Users are advised to upgrade to Apache Log4j Core version <code>2.25.3</code>, which fully addresses this issue.</p>
-</div>
-<div class="paragraph">
-<p>For earlier versions, the risk can be reduced by carefully restricting the trust store used by the Socket Appender.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>When configuring a trust store for Log4j Core, we recommend following established best practices.
-For example,
-<a href="https://csrc.nist.gov/pubs/sp/800/52/r2/final">NIST SP 800-52 Rev. 2</a>
-(§4.5.2) recommends using a trust store that contains only the CA certificates required for the intended communication scope, such as a private or enterprise CA.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-68161-credits"><a class="anchor" href="#CVE-2025-68161-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered by Samuli Leinonen.</p>
-</div>
-<div class="paragraph">
-<p>It was reported through the <a href="https://yeswehack.com/programs/log4j-bug-bounty-program">Apache Log4j Bug Bounty Program on YesWeHack</a> funded by the Sovereign Tech Agency.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-68161-references"><a class="anchor" href="#CVE-2025-68161-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-68161">CVE-2025-68161</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/logging-log4j2/pull/4002">Pull request that fixes the issue</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2025-54813"><a class="anchor" href="#CVE-2025-54813"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-54813">CVE-2025-54813</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Improper escaping with JSONLayout</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 4.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">6.3 MEDIUM (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Apache Log4cxx</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[0.11.0, 1.5.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5.0</code></p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2025-54813-description"><a class="anchor" href="#CVE-2025-54813-description"></a>Description</h4>
-<div class="paragraph">
-<p>When using <code>JSONLayout</code>, not all payload bytes are properly escaped.
-If an attacker-supplied message contains certain non-printable characters, these will be passed along in the message and written out as part of the JSON message.
-This may prevent applications that consume these logs from correctly interpreting the information within them.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54813-remediation"><a class="anchor" href="#CVE-2025-54813-remediation"></a>Remediation</h4>
-<div class="paragraph">
-<p>Users are recommended to upgrade to version <code>1.5.0</code>, which fixes the issue.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54813-credits"><a class="anchor" href="#CVE-2025-54813-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered and remediated with support from the Sovereign Tech Agency, through the <a href="https://yeswehack.com/programs/log4j-bug-bounty-program">Apache Log4j Bug Bounty Program on YesWeHack</a>.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54813-references"><a class="anchor" href="#CVE-2025-54813-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-54813">CVE-2025-54813</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/logging-log4cxx/pull/512">Pull request that fixes the issue</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2025-54812"><a class="anchor" href="#CVE-2025-54812"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-54812">CVE-2025-54812</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Improper HTML escaping in HTMLLayout</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 4.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2.1 LOW (CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Apache Log4cxx</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[0, 1.5.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5.0</code></p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2025-54812-description"><a class="anchor" href="#CVE-2025-54812-description"></a>Description</h4>
-<div class="paragraph">
-<p>When using <code>HTMLLayout</code>, logger names are not properly escaped when writing out to the HTML file.
-If untrusted data is used to retrieve the name of a logger, an attacker could theoretically inject HTML or Javascript in order to hide information from logs or steal data from the user.
-In order to activate this, the following sequence must occur:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Log4cxx is configured to use <code>HTMLLayout</code>.</p>
-</li>
-<li>
-<p>Logger name comes from an untrusted string.</p>
-</li>
-<li>
-<p>Logger with compromised name logs a message.</p>
-</li>
-<li>
-<p>User opens the generated HTML log file in their browser, leading to potential XSS.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Because logger names are generally constant strings, we assess the impact to users as LOW.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54812-remediation"><a class="anchor" href="#CVE-2025-54812-remediation"></a>Remediation</h4>
-<div class="paragraph">
-<p>Users are recommended to upgrade to version <code>1.5.0</code>, which fixes the issue.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54812-credits"><a class="anchor" href="#CVE-2025-54812-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered and remediated with support from the Sovereign Tech Agency, through the <a href="https://yeswehack.com/programs/log4j-bug-bounty-program">Apache Log4j Bug Bounty Program on YesWeHack</a>.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2025-54812-references"><a class="anchor" href="#CVE-2025-54812-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-54812">CVE-2025-54812</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/logging-log4cxx/pull/509">Pull request #509</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/logging-log4cxx/pull/514">Pull request #514</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2021-44832"><a class="anchor" href="#CVE-2021-44832"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44832">CVE-2021-44832</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">JDBC appender is vulnerable to remote code execution in certain configurations</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 3.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">6.6 MEDIUM (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-beta7, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.17.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), or <code>2.17.0</code> (for Java 8 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2021-44832-description"><a class="anchor" href="#CVE-2021-44832-description"></a>Description</h4>
-<div class="paragraph">
-<p>An attacker with write access to the logging configuration can construct a malicious configuration using a JDBC Appender with a data source referencing a JNDI URI which can execute remote code.
-This issue is fixed by limiting JNDI data source names to the <code>java</code> protocol.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-44832-mitigation"><a class="anchor" href="#CVE-2021-44832-mitigation"></a>Mitigation</h4>
-<div class="paragraph">
-<p>Upgrade to <code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), or <code>2.17.0</code> (for Java 8 and later).</p>
-</div>
-<div class="paragraph">
-<p>In prior releases confirm that if the JDBC Appender is being used it is not configured to use any protocol other than <code>java</code>.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-44832-references"><a class="anchor" href="#CVE-2021-44832-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44832">CVE-2021-44832</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3242">LOG4J2-3242</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2021-45105"><a class="anchor" href="#CVE-2021-45105"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-45105">CVE-2021-45105</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Infinite recursion in lookup evaluation</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 3.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">5.9 MEDIUM (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-alpha1, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.17.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), and <code>2.17.0</code> (for Java 8 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2021-45105-description"><a class="anchor" href="#CVE-2021-45105-description"></a>Description</h4>
-<div class="paragraph">
-<p>Log4j versions <code>2.0-alpha1</code> through <code>2.16.0</code> (excluding <code>2.3.1</code> and <code>2.12.3</code>), did not protect from uncontrolled recursion that can be implemented using self-referential lookups.
-When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, <code>$${ctx:loginId}</code>), attackers with control over Thread Context Map (MDC) input data can craft malicious input data that contains a recursive lookup, resulting in a <code>StackOverflowError</code> that will terminate the process.
-This is also known as a <em>DoS (Denial-of-Service)</em> attack.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45105-mitigation"><a class="anchor" href="#CVE-2021-45105-mitigation"></a>Mitigation</h4>
-<div class="paragraph">
-<p>Upgrade to <code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), or <code>2.17.0</code> (for Java 8 and later).</p>
-</div>
-<div class="paragraph">
-<p>Alternatively, this infinite recursion issue can be mitigated in configuration:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>In PatternLayout in the logging configuration, replace Context Lookups like <code>${ctx:loginId}</code> or <code>$${ctx:loginId}</code> with Thread Context Map patterns (<code>%X</code>, <code>%mdc</code>, or <code>%MDC</code>).</p>
-</li>
-<li>
-<p>Otherwise, in the configuration, remove references to Context Lookups like <code>${ctx:loginId}</code> or <code>$${ctx:loginId}</code> where they originate
-from sources external to the application such as HTTP headers or user input.
-Note that this mitigation is insufficient in releases older than <code>2.12.2</code> (for Java 7), and <code>2.16.0</code> (for Java 8 and later) as the issues fixed in those releases will still be present.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Note that only the <code>log4j-core</code> JAR file is impacted by this vulnerability.
-Applications using only the <code>log4j-api</code> JAR file without the <code>log4j-core</code> JAR file are not impacted by this vulnerability.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45105-credits"><a class="anchor" href="#CVE-2021-45105-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>Independently discovered by Hideki Okamoto of Akamai Technologies, Guy Lederfein of Trend Micro Research working with Trend Micro&#8217;s Zero Day Initiative, and another anonymous vulnerability researcher.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45105-references"><a class="anchor" href="#CVE-2021-45105-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-45105">CVE-2021-45105</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3230">LOG4J2-3230</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2021-45046"><a class="anchor" href="#CVE-2021-45046"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-45046">CVE-2021-45046</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Thread Context Lookup is vulnerable to remote code execution in certain configurations</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 3.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">9.0 CRITICAL (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-beta9, 2.3.1) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.16.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), and <code>2.16.0</code> (for Java 8 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2021-45046-description"><a class="anchor" href="#CVE-2021-45046-description"></a>Description</h4>
-<div class="paragraph">
-<p>It was found that the fix to address <a href="#CVE-2021-44228">CVE-2021-44228</a> in Log4j <code>2.15.0</code> was incomplete in certain non-default configurations.
-When the logging configuration uses a non-default Pattern Layout with a Thread Context Lookup (for example, <code>$${ctx:loginId}</code>), attackers with control over Thread Context Map (MDC) can craft malicious input data using a JNDI Lookup pattern, resulting in an information leak and remote code execution in some environments and local code execution in all environments.
-Remote code execution has been demonstrated on macOS, Fedora, Arch Linux, and Alpine Linux.</p>
-</div>
-<div class="paragraph">
-<p>Note that this vulnerability is not limited to just the JNDI lookup.
-Any other Lookup could also be included in a Thread Context Map variable and possibly have private details exposed to anyone with access to the logs.</p>
-</div>
-<div class="paragraph">
-<p>Note that only the <code>log4j-core</code> JAR file is impacted by this vulnerability.
-Applications using only the <code>log4j-api</code> JAR file without the <code>log4j-core</code> JAR file are not impacted by this vulnerability.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45046-mitigation"><a class="anchor" href="#CVE-2021-45046-mitigation"></a>Mitigation</h4>
-<div class="paragraph">
-<p>Upgrade to Log4j <code>2.3.1</code> (for Java 6), <code>2.12.3</code> (for Java 7), or <code>2.16.0</code> (for Java 8 and later).</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45046-credits"><a class="anchor" href="#CVE-2021-45046-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered by Kai Mindermann of iC Consult and separately by 4ra1n.</p>
-</div>
-<div class="paragraph">
-<p>Additional vulnerability details discovered independently by Ash Fox of Google, Alvaro Muñoz and Tony Torralba from GitHub, Anthony Weems of Praetorian, and RyotaK (@ryotkak).</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-45046-references"><a class="anchor" href="#CVE-2021-45046-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-45046">CVE-2021-45046</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3221">LOG4J2-3221</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2021-44228"><a class="anchor" href="#CVE-2021-44228"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44228">CVE-2021-44228</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">JNDI lookup can be exploited to execute arbitrary code loaded from an LDAP server</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 3.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">10.0 CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-beta9, 2.3.1) ∪ [2.4, 2.12.2) ∪ [2.13.0, 2.15.0)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.1</code> (for Java 6), <code>2.12.2</code> (for Java 7), and <code>2.15.0</code> (for Java 8 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2021-44228-description"><a class="anchor" href="#CVE-2021-44228-description"></a>Description</h4>
-<div class="paragraph">
-<p>In Log4j, the JNDI features used in configurations, log messages, and parameters do not protect against attacker-controlled LDAP and other JNDI related endpoints.
-An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers.</p>
-</div>
-<div class="paragraph">
-<p>Note that only the <code>log4j-core</code> JAR file is impacted by this vulnerability.
-Applications using only the <code>log4j-api</code> JAR file without the <code>log4j-core</code> JAR file are not impacted by this vulnerability.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-44228-mitigation"><a class="anchor" href="#CVE-2021-44228-mitigation"></a>Mitigation</h4>
-<div class="sect4">
-<h5 id="CVE-2021-44228-mitigation-log4j1"><a class="anchor" href="#CVE-2021-44228-mitigation-log4j1"></a>Log4j 1 mitigation</h5>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p><a href="/log4j/1.x">Log4j 1</a> has <a href="https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces">reached End of Life</a> in 2015, and is no longer supported.
-Vulnerabilities reported after August 2015 against Log4j 1 are not checked and will not be fixed.
-Users should <a href="/log4j/2.x/manual/migration.html">upgrade to Log4j 2</a> to obtain security fixes.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>Log4j 1 does not have Lookups, so the risk is lower.
-Applications using Log4j 1 are only vulnerable to this attack when they use JNDI in their configuration.
-A separate CVE (<a href="https://nvd.nist.gov/vuln/detail/CVE-2021-4104">CVE-2021-4104</a>) has been filed for this vulnerability.
-To mitigate, audit your logging configuration to ensure it has no <code>JMSAppender</code> configured.
-Log4j 1 configurations without <code>JMSAppender</code> are not impacted by this vulnerability.</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="CVE-2021-44228-mitigation-log4j2"><a class="anchor" href="#CVE-2021-44228-mitigation-log4j2"></a>Log4j 2 mitigation</h5>
-<div class="paragraph">
-<p>Upgrade to Log4j <code>2.3.1</code> (for Java 6), <code>2.12.2</code> (for Java 7), or <code>2.15.0</code> (for Java 8 and later).</p>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-44228-credits"><a class="anchor" href="#CVE-2021-44228-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered by Chen Zhaojun of Alibaba Cloud Security Team.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2021-44228-references"><a class="anchor" href="#CVE-2021-44228-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44228">CVE-2021-44228</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3198">LOG4J2-3198</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3201">LOG4J2-3201</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-3242">LOG4J2-3242</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2020-9488"><a class="anchor" href="#CVE-2020-9488"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2020-9488">CVE-2020-9488</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Improper validation of certificate with host mismatch in SMTP appender</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 3.x Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">3.7 LOW (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-beta1, 2.3.2) ∪ [2.4, 2.12.3) ∪ [2.13.0, 2.13.2)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.2</code> (for Java 6), <code>2.12.3</code> (for Java 7) and <code>2.13.2</code> (for Java 8 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2020-9488-description"><a class="anchor" href="#CVE-2020-9488-description"></a>Description</h4>
-<div class="paragraph">
-<p>Improper validation of certificate with host mismatch in SMTP appender.
-This could allow an SMTPS connection to be intercepted by a man-in-the-middle attack which could leak any log
-messages sent through that appender.</p>
-</div>
-<div class="paragraph">
-<p>The reported issue was caused by an error in <code>SslConfiguration</code>.
-Any element using <code>SslConfiguration</code> in the Log4j <code>Configuration</code> is also affected by this issue.
-This includes <code>HttpAppender</code>, <code>SocketAppender</code>, and <code>SyslogAppender</code>.
-Usages of <code>SslConfiguration</code> that are configured via system properties are not affected.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2020-9488-mitigation"><a class="anchor" href="#CVE-2020-9488-mitigation"></a>Mitigation</h4>
-<div class="paragraph">
-<p>Upgrade to <code>2.3.2</code> (Java 6), <code>2.12.3</code> (Java 7) or <code>2.13.2</code> (Java 8 and later).</p>
-</div>
-<div class="paragraph">
-<p>Alternatively, users can set the <code>mail.smtp.ssl.checkserveridentity</code> system property to <code>true</code> to enable SMTPS hostname verification for all SMTPS mail sessions.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2020-9488-credits"><a class="anchor" href="#CVE-2020-9488-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered by Peter Stöckli.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2020-9488-references"><a class="anchor" href="#CVE-2020-9488-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2020-9488">CVE-2020-9488</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-2819">LOG4J2-2819</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="CVE-2017-5645"><a class="anchor" href="#CVE-2017-5645"></a><a href="https://nvd.nist.gov/vuln/detail/CVE-2017-5645">CVE-2017-5645</a></h3>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 16.6666%;">
-<col style="width: 83.3334%;">
-</colgroup>
-<tbody>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Summary</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">TCP/UDP socket servers can be exploited to execute arbitrary code</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">CVSS 2.0 Score &amp; Vector</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">7.5 HIGH (AV:N/AC:L/Au:N/C:P/I:P/A:P)</p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Components affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>log4j-core</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions affected</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>[2.0-alpha1, 2.8.2)</code></p></td>
-</tr>
-<tr>
-<th class="tableblock halign-left valign-top"><p class="tableblock">Versions fixed</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.8.2</code> (for Java 7 and later)</p></td>
-</tr>
-</tbody>
-</table>
-<div class="sect3">
-<h4 id="CVE-2017-5645-description"><a class="anchor" href="#CVE-2017-5645-description"></a>Description</h4>
-<div class="paragraph">
-<p>When using the TCP socket server or UDP socket server to receive serialized log events from another application, a specially crafted binary payload can be sent that, when deserialized, can execute arbitrary code.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2017-5645-mitigation"><a class="anchor" href="#CVE-2017-5645-mitigation"></a>Mitigation</h4>
-<div class="paragraph">
-<p>Java 7 and above users should migrate to version <code>2.8.2</code> or avoid using the socket server classes.
-Java 6 users should avoid using the TCP or UDP socket server classes, or they can manually backport <a href="https://github.com/apache/logging-log4j2/commit/5dcc192">the security fix commit</a> from <code>2.8.2</code>.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2017-5645-credits"><a class="anchor" href="#CVE-2017-5645-credits"></a>Credits</h4>
-<div class="paragraph">
-<p>This issue was discovered by Marcio Almeida de Macedo of Red Team at Telstra.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="CVE-2017-5645-references"><a class="anchor" href="#CVE-2017-5645-references"></a>References</h4>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://nvd.nist.gov/vuln/detail/CVE-2017-5645">CVE-2017-5645</a></p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/LOG4J2-1863">LOG4J2-1863</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/logging-log4j2/commit/5dcc192">Security fix commit</a></p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/sitemap.xml b/sitemap.xml
deleted file mode 100644
index b291e828..00000000
--- a/sitemap.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-<url>
-<loc>https://logging.apache.org/blog/20231117-flume-joins-logging-services.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20231128-new-pmc-member.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20231202-apache-common-logging-1.3.0.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20231214-announcing-support-from-the-stf.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20231218-20-years-of-innovation.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20240725-Log4j-At-Community-Over-Code-2024.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20240808-welcome-to-the-pmc-jan.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20240812-log4j-bug-bounty.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/20250728-introduction-to-vex-files.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/blog/index.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/charter.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/download.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/guidelines.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/index.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/processes.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/security.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/support.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/team-list.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/what-is-logging.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-<url>
-<loc>https://logging.apache.org/xml/ns/index.html</loc>
-<lastmod>2025-12-30T19:52:56.607Z</lastmod>
-</url>
-</urlset>
diff --git a/support.html b/support.html
deleted file mode 100644
index 8bde9baf..00000000
--- a/support.html
+++ /dev/null
@@ -1,494 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Support :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/support.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li><a href="support.html">Support</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/support.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Support</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>Logging Services employ many public and private support channels for users, contributors, and maintainers.</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>The Apache Software Foundation does not employ individuals to develop and support any of its projects.
-The individuals who contribute to Apache projects do it either as part of specific tasks assigned to them by their employer, on their own initiative to benefit their employer, or on their own free time.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="discussions-user"><a class="anchor" href="#discussions-user"></a>User support</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If you have questions like:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><em>"How do I configure Log4j with the file appender?"</em></p>
-</li>
-<li>
-<p><em>"My Log4Net layout is not working as expected; what should I do?"</em></p>
-</li>
-<li>
-<p><em>"How can I migrate from Log4j 1 with this custom configuration?"</em></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>We urge you to first check the website of the associated project to see if your question has already been answered there.
-If not, you can use one the following communication channels:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>GitHub Discussions (<a href="https://github.com/apache/logging-log4cxx/discussions">Log4cxx</a>, <a href="https://github.com/apache/logging-log4j2/discussions">Log4j</a>, <a href="https://github.com/apache/logging-log4net/discussions">Log4net</a>)</p>
-</li>
-<li>
-<p><code>log4j-user@logging.apache.org</code> mailing list (<a href="mailto:log4j-user-subscribe@logging.apache.org">subscribe</a> | <a href="mailto:log4j-user-unsubscribe@logging.apache.org">unsubscribe</a> | <a href="mailto:log4j-user@logging.apache.org">post</a> | <a href="https://lists.apache.org/list.html?log4j-user&#64;logging.apache.org">archive</a>)</p>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p><strong>You are expected to be subscribed</strong> to a mailing list to receive replies to your posted questions!
-If you are not subscribed, when you post an email, it will be subject to moderation (hence, will be distributed with a delay) and the only way you would be able to follow the conversation is to use the mailing list archive.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>Messages sent to a public mailing list will be seen by many people and also re-published by 3rd party websites.
-It is usually not possible to remove them.
-Please <strong>don&#8217;t send mails containing confidential information</strong> to public mailing lists.
-For more information, please see the <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a></p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</li>
-<li>
-<p>Stack Overflow (<a href="http://stackoverflow.com/questions/tagged/log4cxx">Log4cxx</a>, <a href="http://stackoverflow.com/questions/tagged/log4j">Log4j</a>, <a href="http://stackoverflow.com/questions/tagged/log4net">Log4net</a>)</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="discussions-maintainer"><a class="anchor" href="#discussions-maintainer"></a>Maintainer discussions</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>If you have questions or feedback like:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>A class should be public instead of package-private</p>
-</li>
-<li>
-<p>A plugin is missing configuration options</p>
-</li>
-<li>
-<p>You&#8217;ve found a bug</p>
-</li>
-<li>
-<p><strong>You have questions that are not project-specific</strong></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>then please contact us using the following channels:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>GitHub Discussions (<a href="https://github.com/apache/logging-log4cxx/discussions">Log4cxx</a>, <a href="https://github.com/apache/logging-log4j2/discussions">Log4j</a>, <a href="https://github.com/apache/logging-log4net/discussions">Log4net</a>)</p>
-</li>
-<li>
-<p><code>dev@logging.apache.org</code> mailing list (<a href="mailto:dev-subscribe@logging.apache.org">subscribe</a> | <a href="mailto:dev-unsubscribe@logging.apache.org">unsubscribe</a> | <a href="mailto:dev@logging.apache.org">post</a> | <a href="https://lists.apache.org/list.html?dev&#64;logging.apache.org">archive</a>)</p>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p><strong>You are expected to be subscribed</strong> to a mailing list to receive replies to your posted questions!
-If you are not subscribed, when you post an email, it will be subject to moderation (hence, will be distributed with a delay) and the only way you would be able to follow the conversation is to use the mailing list archive.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>Messages sent to a public mailing list will be seen by many people and also re-published by 3rd party websites.
-It is usually not possible to remove them.
-Please <strong>don&#8217;t send mails containing confidential information</strong> to public mailing lists.
-For more information, please see the <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a></p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</li>
-<li>
-<p><a href="https://the-asf.slack.com/archives/C4TQW0M5L">#logging</a> Slack channel (exclusive to committers)</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="discussions-private"><a class="anchor" href="#discussions-private"></a>Private discussions</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Users are strongly advised to use one of the above public channels.
-If it deems necessary, use following channels for private discussions.</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>security@logging.apache.org</code> mailing list (<a href="mailto:security@logging.apache.org">post</a>) is used for reporting unlisted <strong>security vulnerabilities</strong> or other unexpected behaviour that has a security impact.
-Make sure to check <a href="security.html" class="xref page">the Security page</a> before sending an email.</p>
-</li>
-<li>
-<p><code>private@logging.apache.org</code> mailing list (<a href="mailto:private@logging.apache.org">post</a>) is used for discussing other confidential topics with the Logging Services PMC.</p>
-</li>
-<li>
-<p><a href="https://the-asf.slack.com/archives/C02Q8FPEW6T">#logging-pmc</a> Slack channel (exclusive to committers)</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="issues"><a class="anchor" href="#issues"></a>Issues</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Logging Services projects use GitHub Issues (<a href="https://github.com/apache/logging-log4cxx/issues">Log4cxx</a>, <a href="https://github.com/apache/logging-log4j2/issues">Log4j</a>, <a href="https://github.com/apache/logging-log4net/issues">Log4net</a>) as their issue tracking system.
-The old issue tracking system, JIRA (<a href="https://issues.apache.org/jira/projects/LOGCXX">Log4cxx</a>, <a href="https://issues.apache.org/jira/projects/LOG4J2">Log4j</a>), is still accessible, though only recommended for issues that were already created there.
-For issues that are not project-specific, <a href="#discussions-maintainer">get in touch with maintainers instead</a>.</p>
-</div>
-<div class="paragraph">
-<p>Issues get resolved in one of the following ways:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>The reporter or another interested party provides a pull request tagging the issue in its title</p>
-</li>
-<li>
-<p>A committer is interested in the issue and decides to work on it</p>
-</li>
-<li>
-<p>The reporter or another interested party sponsors one or more of <a href="#sponsorship">the committers listed below</a> to encourage them to work on the issue</p>
-</li>
-</ol>
-</div>
-<div class="paragraph">
-<p>Created issues are subject to the following policy:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Quality</dt>
-<dd>
-<p>Issues posted of insufficient quality will be removed</p>
-</dd>
-<dt class="hdlist1">No protracted discussions</dt>
-<dd>
-<p>Issues likely to result in protracted discussion must be posted to the mailing lists</p>
-</dd>
-<dt class="hdlist1">No Questions</dt>
-<dd>
-<p>Do not post questions as issues!
-These will be removed, and you will be asked to post questions to the mailing lists instead.</p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="sponsorship"><a class="anchor" href="#sponsorship"></a>Sponsorship</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Sponsorship can be used simply as a way to say thank you for the work that has been done or as a way to encourage specific issues to be worked on.
-In either case, while the Apache Logging Services project thanks you for your support, we cannot be responsible for any promises and/or contributions made by an individual committer, as individual commits must be reviewed and accepted by the project team.</p>
-</div>
-<div class="sect2">
-<h3 id="sponsorship-github"><a class="anchor" href="#sponsorship-github"></a>Committers accepting GitHub Sponsorship</h3>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://github.com/sponsors/carterkozak">Carter Kozak</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/fluffynuts">Davyd McColl</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/garydgregory">Gary Gregory</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/FreeAndNil">Jan Friedrich</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/jvz">Matt Sicker</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/ppkarwasz">Piotr P. Karwasz</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/rgoers">Ralph Goers</a></p>
-</li>
-<li>
-<p><a href="https://github.com/sponsors/vy">Volkan Yazıcı</a></p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect2">
-<h3 id="sponsors"><a class="anchor" href="#sponsors"></a>Sponsors</h3>
-<div class="paragraph">
-<p>There are a handful of tools that developers in the community use; some are open-source and some are commercial.
-We would like to take this opportunity to thank our sponsors providing the project maintainers access to these tools:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://www.jetbrains.com">JetBrains</a> with its <a href="https://www.jetbrains.com/idea/">Intellij IDEA</a></p>
-</li>
-<li>
-<p><a href="https://www.yourkit.com">YourKit</a> with its <a href="https://www.yourkit.com/java/profiler">Java Profiler</a></p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>There are several <a href="https://www.apache.org/foundation/thanks.html">sponsors supporting ASF</a>.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="commercial"><a class="anchor" href="#commercial"></a>Third-party commercial support</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>While neither the Apache Software Foundation nor the Apache Logging Services project provide any commercial support for the Logging Services products, individual committers may collaborate with services that provide such support.</p>
-</div>
-<div class="paragraph">
-<p>The following aims to be a list of all commercial support services involving one or more <a href="team-list.html" class="xref page">Logging Services PMC members</a>.</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1"><a href="https://volkan.yazi.ci">Abstract Dynamics</a></dt>
-<dd>
-<p>Consultancy services offered by PMC member <a href="https://www.linkedin.com/in/yazicivo">Volkan Yazıcı</a></p>
-</dd>
-<dt class="hdlist1"><a href="https://www.linkedin.com/in/ppkarwasz">Copernik</a></dt>
-<dd>
-<p>Consultancy services offered by PMC member <a href="https://www.linkedin.com/in/ppkarwasz">Piotr Karwasz</a></p>
-</dd>
-<dt class="hdlist1"><a href="https://grobmeier.solutions">Grobmeier Solutions</a></dt>
-<dd>
-<p>Consultancy services offered by PMC member <a href="https://www.linkedin.com/in/grobmeier/">Christian Grobmeier</a></p>
-</dd>
-<dt class="hdlist1"><a href="https://tidelift.com">Tidelift</a></dt>
-<dd>
-<p>Some Log4j maintainers receive funding from Tidelift for their maintenance efforts.</p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/team-list.html b/team-list.html
deleted file mode 100644
index aaebbda8..00000000
--- a/team-list.html
+++ /dev/null
@@ -1,478 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Team :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/team-list.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li>About</li>
-    <li><a href="team-list.html">Team</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/team-list.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Team</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>Logging Services team is composed of following members.
-See <a href="guidelines.html" class="xref page">Guidelines</a> for further details on roles.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="active"><a class="anchor" href="#active"></a>Active Members</h2>
-<div class="sectionbody">
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 20%;">
-<col style="width: 20%;">
-<col style="width: 20%;">
-<col style="width: 40%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Name</th>
-<th class="tableblock halign-left valign-top">Apache ID</th>
-<th class="tableblock halign-left valign-top">Role</th>
-<th class="tableblock halign-left valign-top">Projects</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Carter Kozak</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ckozak</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Christian Grobmeier</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>grobmeier</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Chainsaw, Log4j, Log4php</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Davyd McColl</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>davydm</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4net</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Dominik Psenner</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dpsenner</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4net</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Gary Gregory</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ggregory</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Jan Friedrich</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>freeandnil</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4net</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Jay Katariya</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>jaykatariya</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Jeff Thomas</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>jwthomas</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Matt Sicker</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mattsicker</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Piotr Karwasz</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pkarwasz</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Chair</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ralph Goers</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>rgoers</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Flume, Log4j, Log4j Audit</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Raman Gupta</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>rgupta</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j Kotlin</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Remko Popma</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>rpopma</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Robert Middleton</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>rmiddleton</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4cxx</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ron Grabowski</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>rgrabowski</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j, Log4net</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Scott Deboy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sdeboy</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Chainsaw, Log4j</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Stephen Webb</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>swebb2066</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4cxx</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Thorsten Schöning</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>tschoening</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4cxx</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Volkan Yazıcı</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>vy</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-<div class="sect1">
-<h2 id="inactive"><a class="anchor" href="#inactive"></a>Inactive Members</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Inactive members have either requested Emeritus status or have not participated in the community in the last few years.
-Inactive members are welcome to continue participating at any time.</p>
-</div>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 20%;">
-<col style="width: 20%;">
-<col style="width: 20%;">
-<col style="width: 20%;">
-<col style="width: 20%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Name</th>
-<th class="tableblock halign-left valign-top">Apache ID</th>
-<th class="tableblock halign-left valign-top">Role</th>
-<th class="tableblock halign-left valign-top">Projects</th>
-<th class="tableblock halign-left valign-top">Status</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Alvaro Carraso</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>alvaro</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4php</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Unknown</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Andrei Ivanov</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>shadow</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j Audit</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2020</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Balázs Donát Bessenyei</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bessbd</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Flume</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2022</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Bruce Brouwer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bbrouwer</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2015</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ceki Gülcü</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ceki</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Christian Hammers</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>chammers</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4php</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2010</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Curt Arnold</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>carnold</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4cxx, Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2017</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ivan Habunek</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ihabunek</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4php</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2015</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Jacob Kjome</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hoju</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Juhani Connolly</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>juhanic</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Flume</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Knut Urdalen</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>kurdalen</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Committer</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4php</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2010</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Mark Womack</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mwomack</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2006</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Mikael Ståldal</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mikes</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2018</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Mike Percy</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mpercy</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Flume</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2019</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Nick Williams</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>nickwilliams</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Nicko Cadell</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>nicko</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4net</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Paul Smith</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>psmith</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Chainsaw, Log4j</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2014</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Stefan Bodewig</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>bodewig</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4net</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Emeritus 2018</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Tristan Stevens</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>tristan</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">PMC Member</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Flume</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Last Active 2023</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/what-is-logging.html b/what-is-logging.html
deleted file mode 100644
index 591fe559..00000000
--- a/what-is-logging.html
+++ /dev/null
@@ -1,544 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>What is logging? :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/what-is-logging.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="./_/css/site.css">
-<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="./_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="2">
-    <a class="nav-link" href="what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="security.html">Security</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="xml/ns/index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="index.html">Home</a></li>
-    <li>About</li>
-    <li><a href="what-is-logging.html">What is logging?</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/what-is-logging.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">What is logging?</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>At a high level, logging is used to capture information during the run of an
-application.  This can include different types of information about both the
-state of the application and inputs to the application.  For example, an HTTP
-server may log information about incoming connections(such as an IP address).
-Logging can also be at different levels of verbosity, in order to allow a user
-of the application to not be overwhelmed with too much information.</p>
-</div>
-<div class="paragraph">
-<p>Logging can be broadly classified into two categories.  The two main categories
-of logging are debug logging and audit logging.  Debug logging is generally
-useful for application developers who can turn on messages that an end-user
-does not care about - for example, if data is being parsed correctly, or if an
-exception is thrown.  Audit logging is more interesting to system
-administrators.  This type of data would include information such as when
-somebody logged in, who changed a piece of information, etc.  Debug logging and
-audit logging are not mutually exclusive, and there can be plenty of overlap
-between these two categories.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_what_should_a_logging_framework_do"><a class="anchor" href="#_what_should_a_logging_framework_do"></a>What should a logging framework do?</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>At a minimum, a logging framework needs to be able to do the following:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Easily allow you to create log messages</p>
-</li>
-<li>
-<p>Send log messages to stdout and/or stderr</p>
-</li>
-<li>
-<p>Be completely transparent to your application - your application should
-behave exactly the same no matter if logging is enabled or disabled</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>However, a logging framework that does only these things is not particularly
-useful, and no better than using <code>System.out.println()</code> or <code>printf()</code>.  Common
-features of logging frameworks generally include:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Ability to send log messages to other places than just stdout/stderr.  For
-example, common places to send logs could be:</p>
-<div class="olist loweralpha">
-<ol class="loweralpha" type="a">
-<li>
-<p>syslog</p>
-</li>
-<li>
-<p>A file on the local filesystem</p>
-</li>
-<li>
-<p>Remote log server(e.g. ELK, Splunk, kibana, etc.)</p>
-</li>
-<li>
-<p>Windows event log</p>
-</li>
-<li>
-<p>Database</p>
-</li>
-</ol>
-</div>
-</li>
-<li>
-<p>Filtering based off of levels and data</p>
-</li>
-<li>
-<p>Location information of where the log statement is in the code</p>
-</li>
-<li>
-<p>Allow for rotation of files when logging to a file.  This allows you to do
-things such as creating a new log whenever you start up, doing one log file per
-day, limiting files to a specific size, etc.</p>
-</li>
-<li>
-<p>Log to multiple locations at once(send the same data to stdout and a file for
-example)</p>
-</li>
-<li>
-<p>Classify messages based off of the particular subsystem that they are from</p>
-</li>
-<li>
-<p>Format log messages according to some user-defined pattern</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>This is not an exhaustive list of all features that could exist.  There are
-many different logging frameworks that exist which may implement different
-subsets of these features, and may also have more features than are listed here.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_log_levels_and_subsystem_classification"><a class="anchor" href="#_log_levels_and_subsystem_classification"></a>Log Levels and Subsystem Classification</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>When you are logging information, two of the most important things to know are
-the level of the log message and the subsystem that the log message is from.
-This allows you to determine how severe something is, as well as where it is
-coming from.</p>
-</div>
-<div class="paragraph">
-<p>The traditional log levels are as follows(from most verbose to least verbose):
-TRACE
-DEBUG
-INFO
-WARN
-ERROR</p>
-</div>
-<div class="paragraph">
-<p>In addition, levels of CRITICAL and FATAL may exist as well.  Generally, FATAL
-indicates that the application is about to exit, while CRITICAL is similar to
-ERROR.</p>
-</div>
-<div class="paragraph">
-<p>Levels make it easy to quickly filter messages.  Since more verbose messages
-still allow less verbose messages to be printed, you don&#8217;t lose information by
-turning the verbosity up.  When you are working on a particular subsystem, you
-may want that subsystem to be at the DEBUG level to see all the messages, or
-TRACE if there is something that you really need to see.  As a general rule of
-thumb, when your application is in production the default level of all loggers
-should be at the INFO level.</p>
-</div>
-<div class="paragraph">
-<p>Subsystems help to classify the data as well.  In Java, this is generally done
-by the package that a class is in.  Being able to set a particular subsystem
-that you are debugging to the DEBUG level(and not just a single class) is an
-important part of being able to easily filter information and to not overload
-the programmer who is debugging the application.</p>
-</div>
-<div class="paragraph">
-<p>Within the Apache Logging Services projects(log4j2, log4cxx, and log4net) this
-subsystem classification follows the Java hierarchical approach.  If you have a
-logger org.apache.Foo and org.apache.Bar, you can set the level of org.apache
-to DEBUG and both loggers will be at the DEBUG level, but can also be
-individually set if required.  This hierarchical way of logging is not a
-feature that all logging frameworks have, however it is very useful if your
-code is organized in a way such that all classes have individual loggers and
-are logically separated into subsystems appropriately.  This also allows for
-more granular control over your debug statements.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_where_to_put_logs"><a class="anchor" href="#_where_to_put_logs"></a>Where to put logs?</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Logging to different locations(sometimes called sinks) is an important part of
-logging frameworks.  For simple applications, you may not need to do anything
-more complicated than just send data to stdout and/or a file.  However, more
-complicated applications quickly need to have more flexibility in how and where
-they log information.  Modern applications can log to web-based log aggregators
-in addition to a local log mechanism such as syslog.</p>
-</div>
-<div class="paragraph">
-<p>By configuring these log locations through an external source such as a config
-file, it also makes it possible for the end-user to configure the system for
-their particular use-case.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_transparent_logging"><a class="anchor" href="#_transparent_logging"></a>Transparent Logging</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>One of the most basic tenets of logging is that it needs to be completely
-transparent to your application.  Your application must not care if logging is
-enabled or disabled: all it does is send messages to the logging framework,
-which then handles all of the filtering and routing required to get the message
-to its final destination.  This also makes it possible to write unit tests that
-don&#8217;t care about logging at all.  If the logging system is not initialized, the
-worst that should happen is that nothing gets logged.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_how_to_do_proper_logging"><a class="anchor" href="#_how_to_do_proper_logging"></a>How to do proper logging</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Now that we understand what the normal features of logging libraries are,
-it’s time to talk about how to do proper logging.  As we’ve mentioned
-before, the two main things to worry about when logging are what the level of
-the message is, and the classification of the log message.  For the
-classification of the log message, this will often be the name of the class
-that is doing the logging.  Assuming that you have a good design already, then
-the classification derives clearly from the name of the class and the
-package/namespace the class is in.</p>
-</div>
-<div class="paragraph">
-<p>Choosing the level of the log message can be a bit trickier.  A good rule of
-thumb is to leave your log messages at INFO level during normal operation, so
-what should we put at that level and what should be more verbose?  Let’s
-assume that we are opening a network socket for remote communications.  At the
-INFO level we may inform that the network subsystem is starting up and ready
-for work.  DEBUG information could include new connections from clients with
-their IP/port combination, while TRACE information could be output whenever a
-packet comes in from a client.  In addition, we may have ERROR messages if we
-are unable to open a socket for reading/writing.</p>
-</div>
-<div class="paragraph">
-<p>By having different pieces of the data flow at different log levels, it makes
-it easy to quickly look at the logs and determine how serious a problem is and
-what the system is doing during operation.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_other_things_to_worry_about_when_logging"><a class="anchor" href="#_other_things_to_worry_about_when_logging"></a>Other things to worry about when logging</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>As we have seen, having a good logging framework is critical to being able to
-find and fix errors in applications.  However, just because we have logging
-doesn’t mean that it is infallible.  Since logging code that you insert into
-your application is still code that you have written, it is always possible
-that the log messages you get out are lying to you due to a bug in a log
-statement.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_features_that_the_apache_logging_services_projects_have"><a class="anchor" href="#_features_that_the_apache_logging_services_projects_have"></a>Features that the Apache Logging Services projects have</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>While there are many different logging frameworks that exist for Java, C++, and
-.NET, there are a number of built-in features that Log4j2, Log4cxx, and Log4net
-have that are generally useful.</p>
-</div>
-<div class="sect2">
-<h3 id="_hierarchichal_logging"><a class="anchor" href="#_hierarchichal_logging"></a>Hierarchichal Logging</h3>
-<div class="paragraph">
-<p>As mentioned previously, hierarchical logging allows for easy grouping of
-subsystem information.  This allows you to have fine-grained control over the
-information that you are logging and easily allows for one logger per-class.</p>
-</div>
-<div class="paragraph">
-<p>This hierarchical logging also means that you don&#8217;t need to explicitly share
-a sink between loggers.  While it is possible to configure Log4j2 and Log4cxx
-to send each logger to a separate location, the parent/child relationship means
-that children will log their messages to any sinks that their parents have.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_location_information"><a class="anchor" href="#_location_information"></a>Location Information</h3>
-<div class="paragraph">
-<p>Knowing exactly where a log statement is can be vital in order to track down
-the location of a log statement.  Both Log4j2 and Log4cxx are able to determine
-the filename, class name, method name, and line number where the log message
-is coming from.  With Log4cxx, this is able to be done at compile-time.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_static_and_single_instance_loggers"><a class="anchor" href="#_static_and_single_instance_loggers"></a>Static and Single-instance Loggers</h3>
-<div class="paragraph">
-<p>All loggers that are created with Log4j2 and Log4cxx are able to be declared
-as static variables in your source file, eliminating the need for a dedicated
-instance variable of a logger per-class.  A side effect of this is that there
-is a global logger registry, so that you can access the same logger via a
-static LogManager in different classes without having to pass the logger around.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_nested_and_mapped_diagnostic_contexts"><a class="anchor" href="#_nested_and_mapped_diagnostic_contexts"></a>Nested and Mapped Diagnostic Contexts</h3>
-<div class="paragraph">
-<p>When you have multiple objects of the same type, using a static logger can be
-problematic when you need to only view data for one instance of the class.  By
-providing a Nested Diagnostic Context and a Mapped Diagnostic Context, it is
-possible to add context information to your log statements.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_flexible_log_message_formatting"><a class="anchor" href="#_flexible_log_message_formatting"></a>Flexible Log Message Formatting</h3>
-<div class="paragraph">
-<p>When sending a log message to a flat text file, it is often desirable to have
-the messages in a simple to understand format.  This information can include
-data such as the date/time of the log message, the level of the message, the
-logger that produced the message, and the message itself.  With the Log4j2
-and Log4cxx PatternLayout classes, it is possible to quickly configure the
-logging system to output information in a convenient format.</p>
-</div>
-<div class="paragraph">
-<p>Different types of log message formatting is also important when you need
-to send messages to different locations.  The code that creates the log messages
-should not know anything about how the message is formatted on the backend.
-This allows for the same log message to be formatted in different ways with
-potentially different metadata - for example, JSON format for a log aggregating
-service, or plain text for a local configuration file.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_configuration_via_config_file"><a class="anchor" href="#_configuration_via_config_file"></a>Configuration via config file</h3>
-<div class="paragraph">
-<p>Both Log4j2 and Log4cxx can be configured with a configuration file in one of
-several different formats.  While it is always possible to configure via code,
-configuration files make it easy to reconfigure the system without having to
-recompile your code.  This also means it is possible to edit a configuration
-file and dynamically change the configuration at runtime.  For example, you
-can turn on a logger that was previously off if you are debugging a live
-system.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_garbage_free_log4j2"><a class="anchor" href="#_garbage_free_log4j2"></a>Garbage-free (Log4j2)</h3>
-<div class="paragraph">
-<p>In Java, it is important to reduce the amount of time that the garbage
-collector takes to run.  By not allocating and freeing objects, your
-log statements will add very little to the runtime overhead of your application.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_formatting_with_replacements"><a class="anchor" href="#_formatting_with_replacements"></a>Formatting with replacements</h3>
-<div class="paragraph">
-<p>When creating a log statement, it is often slow and annoying to perform string
-concatenation to create a log statement.  In Java, the simplest way to
-concatenate a string is to simply use the + operator:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-none hljs">log("Logging information: " + someVariable + " and the other variable is " + otherVariable);</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>While in C++, you can get into a chevron overload:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-none hljs">log("Logging information: " &lt;&lt; someVariable &lt;&lt; " and the other variable is " &lt;&lt; otherVariable);</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Both Log4j2 and Log4cxx allow for variable replacements in strings, such that
-the above log statements can both be written similar to the following:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-none hljs">log("Logging information: {} and the other variable is {}", someVariable, otherVariable);</code></pre>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_filtering"><a class="anchor" href="#_filtering"></a>Filtering</h3>
-<div class="paragraph">
-<p>When you have many different log messages that you are trying to make sense of,
-it can be difficult to focus on the correct piece of information.  Because of
-this, it is possible to configure both Log4j2 and Log4cxx to filter certain
-messages based off of various attributes, such as a text string that is contained
-within the log message.  Since these filters are also able to be configured
-through the confgiuration file, adding or removing filters is a simple operation.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_conclusion"><a class="anchor" href="#_conclusion"></a>Conclusion</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Logging is a rather complicated topic that covers many different aspects.  While
-different applications will have different requirements for their log statements,
-the projects of the Apache Logging Services Commitee provide a generic and
-widely applicable implemenation of logging for all kinds of applications.</p>
-</div>
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="./_/js/site.js" data-ui-root-path="./_"></script>
-<script async src="./_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="./_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/xml/ns/index.html b/xml/ns/index.html
deleted file mode 100644
index b1197d1c..00000000
--- a/xml/ns/index.html
+++ /dev/null
@@ -1,383 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>XML Schemas for Apache Logging Services projects :: Apache Logging Services</title>
-    <link rel="canonical" href="https://logging.apache.org/xml/ns/index.html">
-    <meta name="generator" content="Antora 3.2.0-alpha.11">
-<link rel="stylesheet" href="../../_/css/site.css">
-<link rel="icon" href="../../_/../_images/favicon.ico" type="image/x-icon">
-<!-- `@asciidoctor/tabs` extension styles -->
-<link rel="stylesheet" href="../../_/css/vendor/tabs.css">
-<style>
-  /* Swap colors of `IMPORTANT` and `WARNING` blocks */ 
-  .doc .admonitionblock.important .icon { background-color: #f70; }
-  .doc .admonitionblock.warning .icon { background-color: #e40046; }
-  /* Default `h4`, `h5`, and `h6` are smaller than the normal text, fix header font sizing: */
-  .doc h1 { font-size: 1.9rem; }
-  .doc h2 { font-size: 1.7rem; }
-  .doc h3 { font-size: 1.5rem; font-weight: 400; }
-  .doc h4 { font-size: 1.3rem; font-weight: 500; }
-  .doc h5 { font-size: 1.1rem; font-weight: 500; text-decoration: underline; }
-  .doc h6 { font-size: 0.9rem; font-weight: 500; text-decoration: underline; }
-  /* Default `code`, `pre`, and `.colist` (source code annotations) fonts are too big, adjust them: */
-  .doc .colist>table code, .doc p code, .doc thead code { font-size: 0.8em; }
-  .doc pre { font-size: 0.7rem; }
-  .doc .colist { font-size: 0.75rem; }
-  /* Make links more visible: */
-  .doc a { text-decoration: underline; }
-  .doc a code { text-decoration: underline; color: #1565c0; }
-  /* Make nav bar wider */
-  .nav-container { width:19rem; }
-  /* Tab header fonts aren't rendered good, adjusting the font weight: */
-  .tablist > ul li { font-weight: 500; }
-  /* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
-  .toc .toc-menu li[data-level="4"] a {
-    padding-left: 2.75rem;
-  }
-  /* Replace the default highlight.js color for strings from red (unnecessarily signaling something negative) to green: */
-  .hljs-string {
-    color: #0f8532;
-  }
-</style>
-  </head>
-  <body class="article">
-<header class="header">
-  <nav class="navbar">
-    <div class="navbar-brand">
-    <a class="navbar-item" href="https://logging.apache.org">Logging Services</a>
-    </div>
-    <div id="topbar-nav" class="navbar-menu">
-      <div class="navbar-end">
-        <a class="navbar-item" href="https://apache.org">a project of&nbsp;<strong>Apache Software Foundation</strong></a>
-      </div>
-    </div>
-  </nav>
-</header>
-<div class="body">
-<div class="nav-container" data-component="ROOT" data-version="">
-  <aside class="nav">
-    <div class="panels">
-<div class="nav-panel-menu is-active" data-panel="menu">
-  <nav class="nav-menu">
-    <button class="nav-menu-toggle" aria-label="Toggle expand/collapse all" style="display: none"></button>
-    <h3 class="title"><a href="../../index.html">Home</a></h3>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="0">
-<ul class="nav-list">
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <span class="nav-text">About</span>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../../guidelines.html">Guidelines</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../../charter.html">Charter</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../../team-list.html">Team</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../../processes.html">Processes</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://cwiki.apache.org/confluence/display/LOGGING/Home">Wiki</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="../../what-is-logging.html">What is logging?</a>
-  </li>
-</ul>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../../download.html">Download</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../../support.html">Support</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../../security.html">Security</a>
-  </li>
-  <li class="nav-item is-current-page" data-depth="1">
-    <a class="nav-link" href="index.html">XML Schema</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <a class="nav-link" href="../../blog/index.html">Blog</a>
-  </li>
-  <li class="nav-item" data-depth="1">
-    <button class="nav-item-toggle"></button>
-    <a class="nav-link" href="https://apache.org">The ASF</a>
-<ul class="nav-list">
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/licenses/">License</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsorship">Donate</a>
-  </li>
-  <li class="nav-item" data-depth="2">
-    <a class="nav-link" href="https://apache.org/foundation/sponsors">Thanks</a>
-  </li>
-</ul>
-  </li>
-</ul>
-  </li>
-</ul>
-  </nav>
-</div>
-    </div>
-  </aside>
-</div>
-<main class="article">
-<div class="toolbar" role="navigation">
-<button class="nav-toggle"></button>
-  <a href="../../index.html" class="home-link"></a>
-<nav class="breadcrumbs" aria-label="breadcrumbs">
-  <ul>
-    <li><a href="../../index.html">Home</a></li>
-    <li><a href="index.html">XML Schema</a></li>
-  </ul>
-</nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-site/edit/main/src/site/antora/modules/ROOT/pages/xml/ns/index.adoc">Edit this Page</a></div>
-</div>
-  <div class="content">
-<aside class="toc sidebar" data-title="Contents" data-levels="2">
-  <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">XML Schemas for Apache Logging Services projects</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>All XML Schemas for Apache Logging Services projects are published at this directory.
-The canonical name for this directory is <code><a href="https://logging.apache.org/xml/ns" class="bare">https://logging.apache.org/xml/ns</a></code>.</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>There are two important things to understand about XSD versioning scheme used here to employ these schemas in your applications:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p><strong>Schema versions and project versions evolve independently.</strong>
-That is, Log4j <code>2.24.0</code> release does not necessarily mean a new <code>log4j-config-2.24.0.xsd</code>: the Log4j 2 runtime configuration API might have been kept intact.</p>
-</li>
-<li>
-<p><strong>Users are recommended to use schemas with only major versions</strong>; <code>log4j-config-2.xsd</code>, <code>log4j-config-3.xsd</code>, <code>log4j-changelog-0.xsd</code>, etc.</p>
-</li>
-</ol>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="log4j"><a class="anchor" href="#log4j"></a>Log4j schemas</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p><a href="#https://logging.apache.org/log4j">Log4j</a> is a Java logging framework.
-Following schemas model the Log4j runtime configuration, i.e., <code>log4j2.xml</code><sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>.</p>
-</div>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 33.3333%;">
-<col style="width: 33.3334%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Publication date</th>
-<th class="tableblock halign-left valign-top">File name</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2024-03-19</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-config-2.23.1.xsd">log4j-config-2.23.1.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/2.x/release-notes.html#release-notes-2-23-1">Log4j <code>2.23.1</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">N/A</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-config-2.xsd">log4j-config-2.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Points to the most recent XSD of major version <code>2</code>.
-<strong>Log4j 2 users are recommended to refer to this XSD in their XML files.</strong></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2024-03-19</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-config-3.0.0.xsd">log4j-config-3.0.0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">N/A</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">N/A</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-config-3.xsd">log4j-config-3.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Points to the most recent XSD of major version <code>3</code>.
-<strong>Log4j 3 users are recommended to refer to this XSD in their XML files.</strong></p></td>
-</tr>
-</tbody>
-</table>
-<div class="listingblock">
-<div class="title">Example Log4j 2 schema usage</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;Configuration xmlns="https://logging.apache.org/xml/ns"
-               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-               xsi:schemaLocation="https://logging.apache.org/xml/ns https://logging.apache.org/xml/ns/log4j-config-2.xsd"&gt;
-  &lt;Appenders&gt;
-    &lt;Console name="Console" target="SYSTEM_OUT"&gt;
-      &lt;PatternLayout pattern="%d [%t] %p %c - %m%n"/&gt;
-    &lt;/Console&gt;
-  &lt;/Appenders&gt;
-  &lt;Loggers&gt;
-    &lt;Root level="WARN"&gt;
-      &lt;AppenderRef ref="Console"/&gt;
-    &lt;/Root&gt;
-  &lt;/Loggers&gt;
-&lt;/Configuration&gt;</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="log4j-changelog"><a class="anchor" href="#log4j-changelog"></a>Log4j Changelog schemas</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p><a href="/log4j/tools/log4j-changelog.html">Log4j Changelog</a> is a tool to maintain changelogs.
-It is designed for Apache Log4j, but can be used for any Java project.</p>
-</div>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 33.3333%;">
-<col style="width: 33.3334%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Publication date</th>
-<th class="tableblock halign-left valign-top">File name</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2023-02-03</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.1.0.xsd">log4j-changelog-0.1.0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-2-0">Log4j Tools <code>0.2.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2023-03-17</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.1.1.xsd">log4j-changelog-0.1.1.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-3-0">Log4j Tools <code>0.3.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2023-09-28</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.1.2.xsd">log4j-changelog-0.1.2.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-5-0">Log4j Tools <code>0.5.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2023-12-13</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.1.3.xsd">log4j-changelog-0.1.3.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-7-0">Log4j Tools <code>0.7.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2024-03-21</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.2.0.xsd">log4j-changelog-0.2.0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-8-0">Log4j Tools <code>0.8.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">N/A</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-changelog-0.xsd">log4j-changelog-0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Points to the most recent XSD of major version <code>0</code>.
-<strong>Users are recommended to refer to this XSD in their XML files.</strong></p></td>
-</tr>
-</tbody>
-</table>
-<div class="listingblock">
-<div class="title">Example Log4j Changelog schema usage</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns="https://logging.apache.org/xml/ns"
-       xsi:schemaLocation="
-               https://logging.apache.org/xml/ns
-               https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
-       type="updated"&gt;
-  &lt;issue id="2370" link="https://github.com/apache/logging-log4j2/pull/2370"/&gt;
-  &lt;description format="asciidoc"&gt;Update `actions/checkout` to version `4.1.2`&lt;/description&gt;
-&lt;/entry&gt;</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="log4j-plugins"><a class="anchor" href="#log4j-plugins"></a>Log4j Docgen schemas</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p><a href="/log4j/tools/log4j-docgen.html">Log4j Docgen</a> is a tool to maintain Log4j Core plugin documentation.
-It is designed for Apache Log4j.</p>
-</div>
-<table class="tableblock frame-all grid-all stretch">
-<colgroup>
-<col style="width: 33.3333%;">
-<col style="width: 33.3333%;">
-<col style="width: 33.3334%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Publication date</th>
-<th class="tableblock halign-left valign-top">File name</th>
-<th class="tableblock halign-left valign-top">Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">2024-03-21</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-plugins-0.1.0.xsd">log4j-plugins-0.1.0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Released with <a href="/log4j/tools/release-notes.html#release-notes-0-8-0">Log4j Tools <code>0.8.0</code></a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">N/A</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="log4j-plugins-0.xsd">log4j-plugins-0.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Points to the most recent XSD of major version <code>0</code>.
-<strong>Users are recommended to refer to this XSD in their XML files.</strong></p></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-<div id="footnotes">
-<hr>
-<div class="footnote" id="_footnotedef_1">
-<a href="#_footnoteref_1">1</a>. Both Log4j 2 and Log4j 3 use <code>log4j2.xml</code> for configuration.
-</div>
-</div>
-</article>
-  </div>
-</main>
-</div>
-<footer class="footer">
-  <p>
-    Copyright © 1999-2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
-    Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
-  </p>
-  <p>
-    Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
-    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-    Other names may be trademarks of their respective owners.
-  </p>
-</footer>
-<script id="site-script" src="../../_/js/site.js" data-ui-root-path="../../_"></script>
-<script async src="../../_/js/vendor/highlight.js"></script>
-<!-- `@asciidoctor/tabs` extension scripts -->
-<script async src="../../_/js/vendor/tabs.js"></script>
-  </body>
-</html>
diff --git a/xml/ns/log4j-changelog-0.1.0.xsd b/xml/ns/log4j-changelog-0.1.0.xsd
deleted file mode 100644
index ee532eab..00000000
--- a/xml/ns/log4j-changelog-0.1.0.xsd
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://logging.apache.org/log4j/changelog"
-        xmlns:cl="http://logging.apache.org/log4j/changelog"
-        elementFormDefault="qualified"
-        version="0.1.0">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="author" type="cl:authorType" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="removed"/>
-      <enumeration value="fixed"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="authorType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string"/>
-        <attribute name="name" type="string"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required" fixed="asciidoc"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-changelog-0.1.1.xsd b/xml/ns/log4j-changelog-0.1.1.xsd
deleted file mode 100644
index 40ce80db..00000000
--- a/xml/ns/log4j-changelog-0.1.1.xsd
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://logging.apache.org/log4j/changelog"
-        xmlns:cl="http://logging.apache.org/log4j/changelog"
-        elementFormDefault="qualified"
-        version="0.1.1">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="author" type="cl:authorType" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="removed"/>
-      <enumeration value="fixed"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="authorType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string"/>
-        <attribute name="name" type="string"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-changelog-0.1.2.xsd b/xml/ns/log4j-changelog-0.1.2.xsd
deleted file mode 100644
index 0a440557..00000000
--- a/xml/ns/log4j-changelog-0.1.2.xsd
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://logging.apache.org/log4j/changelog"
-        xmlns:cl="http://logging.apache.org/log4j/changelog"
-        elementFormDefault="qualified"
-        version="0.1.2">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="author" type="cl:authorType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="removed"/>
-      <enumeration value="fixed"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="authorType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string"/>
-        <attribute name="name" type="string"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-changelog-0.1.3.xsd b/xml/ns/log4j-changelog-0.1.3.xsd
deleted file mode 100644
index 921d30ad..00000000
--- a/xml/ns/log4j-changelog-0.1.3.xsd
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://logging.apache.org/log4j/changelog"
-        xmlns:cl="http://logging.apache.org/log4j/changelog"
-        elementFormDefault="qualified"
-        version="0.1.3">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="author" type="cl:authorType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="fixed"/>
-      <enumeration value="removed"/>
-      <enumeration value="updated"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="authorType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string"/>
-        <attribute name="name" type="string"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-changelog-0.2.0.xsd b/xml/ns/log4j-changelog-0.2.0.xsd
deleted file mode 100644
index 5baeb73f..00000000
--- a/xml/ns/log4j-changelog-0.2.0.xsd
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="https://logging.apache.org/xml/ns"
-        xmlns:cl="https://logging.apache.org/xml/ns"
-        elementFormDefault="qualified"
-        version="0.2.0">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="fixed"/>
-      <enumeration value="removed"/>
-      <enumeration value="updated"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-changelog-0.xsd b/xml/ns/log4j-changelog-0.xsd
deleted file mode 100644
index 5baeb73f..00000000
--- a/xml/ns/log4j-changelog-0.xsd
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License. You may obtain a copy of the License at
-
-      https://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="https://logging.apache.org/xml/ns"
-        xmlns:cl="https://logging.apache.org/xml/ns"
-        elementFormDefault="qualified"
-        version="0.2.0">
-
-  <element name="release">
-    <complexType>
-      <simpleContent>
-        <extension base="string">
-          <attribute name="version" use="required"/>
-          <attribute name="date" type="date" use="required"/>
-        </extension>
-      </simpleContent>
-    </complexType>
-  </element>
-
-  <element name="entry">
-    <complexType>
-      <sequence>
-        <element name="issue" type="cl:issueType" minOccurs="0" maxOccurs="unbounded"/>
-        <element name="description" type="cl:descriptionType"/>
-      </sequence>
-      <attribute name="type" type="cl:changeType" use="required"/>
-    </complexType>
-  </element>
-
-  <complexType name="issueType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="id" type="string" use="required"/>
-        <attribute name="link" type="anyURI" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-  <simpleType name="changeType">
-    <restriction base="string">
-      <enumeration value="added"/>
-      <enumeration value="changed"/>
-      <enumeration value="deprecated"/>
-      <enumeration value="fixed"/>
-      <enumeration value="removed"/>
-      <enumeration value="updated"/>
-    </restriction>
-  </simpleType>
-
-  <complexType name="descriptionType">
-    <simpleContent>
-      <extension base="string">
-        <attribute name="format" type="string" use="required"/>
-      </extension>
-    </simpleContent>
-  </complexType>
-
-</schema>
diff --git a/xml/ns/log4j-config-2.23.1.xsd b/xml/ns/log4j-config-2.23.1.xsd
deleted file mode 100644
index 8d81b644..00000000
--- a/xml/ns/log4j-config-2.23.1.xsd
+++ /dev/null
@@ -1,618 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns" version="2.24.0-SNAPSHOT"><element type="log4j:org.apache.logging.log4j.core.config.Configuration" name="Configuration"/><simpleType name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction base="string"><enumeration value="WAITING"></enumeration><enumeration valu [...]
-
-In this class, order of apiref:org.apache.logging.log4j.Level[] is log4j1 way, i.e., apiref:org.apache.logging.log4j.Level#ALL[] and apiref:org.apache.logging.log4j.Level#OFF[] have minimum and maximum order, respectively.
-(see: LOG4J2-2315)</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.filter.StringMatchFilterBuilder"><annotation><documentation>Build a String match filter.</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.layout.HtmlLayoutBuilder"><annotation><documentation>Build a Pattern Layout</documentation></annotation></complexType><group name="org.apache.log4j.builders.layout.LayoutBuilder"><annotation><documentation>Defi [...]
-
-Provided for compatibility with existing Log4j 1 configurations.
-Originally developed by Ceki Glc and Anders Kristensen.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group></sequence><attribute name="facility" type="log4j:org.apache.logging.log4j.core.net.Facility"></attribute><attribute name="facilityPrinting" type="boolean"></attribute><attribute name="footer" type="string"></attribute><attribute name="header" type="boolean"></attribute></complexType><complexType name="org.apache.log4j [...]
-
-Provided for compatibility with existing Log4j 1 configurations.
-Originally developed by Ceki Glc, Mathias Bogaert.</documentation></annotation><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute></complexType><complexType name="org.apache.log4j.pattern.Log4j1LevelPatternConverter"><annotation><documentation>Outputs the Log4j 1.x level name.</documentation></annotation></complexType><complexType name="org.apache.log4j.pattern.Log4j1MdcPatternConverter"><annotation><documentation>Able to han [...]
-NOTE: The Log4j API supports custom levels, the following list contains only the standard ones.</documentation></annotation><restriction base="string"><enumeration value="OFF"><annotation><documentation>Special level that disables logging.
-No events should be logged at this level.</documentation></annotation></enumeration><enumeration value="FATAL"><annotation><documentation>A fatal event that will prevent the application from continuing</documentation></annotation></enumeration><enumeration value="ERROR"><annotation><documentation>An error in the application, possibly recoverable</documentation></annotation></enumeration><enumeration value="WARN"><annotation><documentation>An event that might possible lead to an error</do [...]
-
-Addresses without a port (or port set to 0) will use the default Cassandra port (9042).</documentation></annotation></element></sequence><attribute name="batchType" type="log4j:com.datastax.driver.core.BatchStatement.Type"><annotation><documentation>If batch statements are enabled, use this type of batch statement.</documentation></annotation></attribute><attribute name="batched" type="boolean"><annotation><documentation>Whether or not to use batch statements when inserting records.</doc [...]
-
-Can be used with or without batch statements.</documentation></annotation></attribute><attribute name="clusterName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="keyspace" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="table" type="string"></attribute><attribute name="useClockForTimestampGenerator" type="boolean"><annotation><documen [...]
-
-Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name= [...]
-
-An Appender can contain a apiref:org.apache.logging.log4j.core.Layout[] if applicable as well as an apiref:org.apache.logging.log4j.core.ErrorHandler[]. Typical Appender implementations coordinate with an implementation of apiref:org.apache.logging.log4j.core.appender.AbstractManager[] to handle external resources such as streams, connections, and other shared state.
-As Appenders are plugins, concrete implementations need to be annotated with apiref:org.apache.logging.log4j.core.config.plugins.Plugin[] and need to provide a static factory method annotated with apiref:org.apache.logging.log4j.core.config.plugins.PluginFactory[].
-
-Most core plugins are written using a related Manager class that handle the actual task of serializing a apiref:org.apache.logging.log4j.core.LogEvent[] to some output location.
-For instance, many Appenders can take advantage of the apiref:org.apache.logging.log4j.core.appender.OutputStreamManager[] class.
-
-It is recommended that Appenders don't do any heavy lifting since there can be many instances of the class being used at any given time.
-When resources require locking (e.g., through apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is important to isolate synchronized code to prevent concurrency issues.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAp [...]
-
-It is highly recommended that applications make use of the Filters provided with this implementation before creating their own.
-
-This interface supports "global" filters (i.e. - all events must pass through them first), attached to specific loggers and associated with Appenders.
-It is recommended that, where possible, Filter implementations create a generic filtering method that can be called from any of the filter methods.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilter"/><element name="Filters" type="log4j:org.apache.logging.log4j.core.filter.CompositeFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThreshold [...]
-
-The formats are:
-
-* `byte[]`
-* an implementer of apiref:java.io.Serializable[], like `byte[]`
-* apiref:java.lang.String[]
-* apiref:org.apache.logging.log4j.core.LogEvent[]
-
-Since 2.6, Layouts can apiref:org.apache.logging.log4j.core.layout.Encoder#encode(Object,ByteBufferDestination)[encode] a `LogEvent` directly to a apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without creating temporary intermediary objects.</documentation></annotation><choice><element name="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name= [...]
-
-In Log4j, the main interface for handling the life cycle context of an object is this one.
-An object first starts in the apiref:org.apache.logging.log4j.core.State#INITIALIZED[] state by default to indicate the class has been loaded.
-From here, calling the apiref:org.apache.logging.log4j.core.LifeCycle#start()[] method will change this state to apiref:org.apache.logging.log4j.core.State#STARTING[]. After successfully being started, this state is changed to apiref:org.apache.logging.log4j.core.State#STARTED[]. When the apiref:org.apache.logging.log4j.core.LifeCycle#stop()[] is called, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPING[] state.
-After successfully being stopped, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPED[] state.
-In most circumstances, implementation classes should store their apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[] dependent on synchronization and concurrency requirements.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.Asy [...]
-
-This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name [...]
-
-Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.Cou [...]
-
-The stream encoding is defined in the layout.</documentation></annotation><choice><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="R [...]
-
-You can configure an AsyncAppender with one or more Appenders and an Appender to append to if the queue is full.
-The AsyncAppender does not allow a filter to be specified on the Appender references.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.con [...]
-
-The default target is `System. out`.
-
-TODO Accessing `System. out` or `System. err` as a byte stream instead of a writer bypasses the JVM's knowledge of the proper encoding.
-(RG) Encoding is handled within the Layout.
-Typically, a Layout will generate a String and then call getBytes which may use a configured encoding or the system default.
-OTOH, a Writer cannot print byte streams.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attrib [...]
-
-Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter (optional).</documentation></annotation></group></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...]
-
-Use for compatibility with version 1.2 and handy for composing a apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.OutputStreamAppender"><annotation><documentation>Appends log events to a given output stream using a layout.
-
-Character encoding is handled within the Layout.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute> [...]
-
-The number of logging events delivered in this e-mail depend on the value of *BufferSize* option.
-The `SmtpAppender` keeps only the last `BufferSize` logging events in its cyclic buffer.
-This keeps memory requirements at a reasonable level while still delivering useful application context.
-By default, an email message will formatted as HTML.
-This can be modified by setting a layout for the appender.
-By default, an email message will be sent when an ERROR or higher severity message is appended.
-This can be modified by setting a filter for the appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>Specifies the filter used for this appender.
-
-By default, uses a apiref:org.apache.logging.log4j.core.filter.ThresholdFilter[] with a level of ERROR.</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Specifies the layout used for the email message body.
-
-By default, this uses the apiref:org.apache.logging.log4j.core.layout.HtmlLayout#createDefaultLayout()[default HTML layout].</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"><annotation><documentation>Specifies an SSL configuration for smtps connections.</documentation></a [...]
-
-Defaults to .</documentation></annotation></attribute><attribute name="cc" type="string"><annotation><documentation>Comma-separated list of CC email addresses.</documentation></annotation></attribute><attribute name="from" type="string"><annotation><documentation>Email address of the sender.</documentation></annotation></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="replyTo" type="string"><annotat [...]
-
-Disabled by default.</documentation></annotation></attribute><attribute name="smtpHost" type="string"><annotation><documentation>Host name of SMTP server to send messages through.</documentation></annotation></attribute><attribute name="smtpPassword" type="string"><annotation><documentation>Password to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="smtpPort" type="int"><annotation><documentation>Port number of SMTP server to send messages through. [...]
-
-Defaults to "smtp".</documentation></annotation></attribute><attribute name="smtpUsername" type="string"><annotation><documentation>Username to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="subject" type="string"><annotation><documentation>Subject template for the email messages.</documentation></annotation></attribute><attribute name="to" type="string"><annotation><documentation>Comma-separated list of recipient email addresses.</documentation>< [...]
-
-Supports both TCP and UDP.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions" minOccurs="0"></element><element name="Ssl" type=" [...]
-
-Supports both TCP and UDP.</documentation></annotation><choice><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The Syslog Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"> [...]
-
-All database appenders should inherit from this base appender.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/></choice></group>< [...]
-
-Not applicable if apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setType(Class)[] is a apiref:org.apache.logging.log4j.util.ReadOnlyStringMap[], apiref:org.apache.logging.log4j.spi.ThreadContextMap[], or apiref:org.apache.logging.log4j.spi.ThreadContextStack[].</documentation></annotation></group></sequence><attribute name="literal" type="string"><annotation><documentation>Literal value to use for populating a column.
-
-This is generally useful for functions, stored procedures, etc.
-No escaping will be done on this value.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Column name.</documentation></annotation></attribute><attribute name="parameter" type="string"><annotation><documentation>Parameter value to use for populating a column, MUST contain a single parameter marker '?'.
-
-This is generally useful for functions, stored procedures, etc.
-No escaping will be done on this value.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>Pattern to use as a apiref:org.apache.logging.log4j.core.layout.PatternLayout[].
-
-Convenient shorthand for apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setLayout(StringLayout)[] with a PatternLayout.</documentation></annotation></attribute><attribute name="source" type="string"><annotation><documentation>Source name.
-
-Useful when combined with a apiref:org.apache.logging.log4j.core.appender.db.org.apache.logging.log4j.message.MapMessage[] depending on the appender.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.jdbc.AbstractConnectionSource"><choice><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appende [...]
-
-This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
-This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><choice><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig"><annotation><documentation>A configuration ele [...]
-
-Mutually exclusive with `pattern! =null` and `eventTimestamp=true`.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the database column as it exists within the database table.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>The apiref:org.apache.logging.log4j.core.layout.PatternLayout[] pattern to insert in this column.
-
-Mutually exclusive with `literal! =null` and `eventTimestamp=true`</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource"><annotation><documentation>Configuration element for apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender[].
-
-If you want to use the apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender[] but none of the provided connection sources meet your needs, you can simply create your own connection source.</documentation></annotation><choice><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="Co [...]
-Must start with java:/comp/env or environment-equivalent.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource[] that uses a JDBC connection string, a user name, and a password to call apiref:java.sql.DriverManager#getConnection(String,String,String)[].
-
-This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
-This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><sequence><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driverClassName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="userName" type="string"></attribute></complexType>< [...]
-If this method returns a apiref:java.sql.Connection[], it should return a new connection every call.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"><annotation><documentation>This Appender writes logging events to a relational database using standard JDBC mechanisms.
-
-It takes a list of apiref:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig[]s and/or apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping[]s with which it determines how to save the event data into the appropriate columns in the table.
-ColumnMapping is new as of Log4j 2.8 and supports apiref:org.apache.logging.log4j.core.config.plugins.convert.TypeConverter[type conversion] and persistence using apiref:java.sql.PreparedStatement#setObject(int,Object)[]. A apiref:org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource[] plugin instance instructs the appender (and apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager[]) how to connect to the database.
-This appender can be reconfigured at run time.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="ColumnMapping" type="log4j:org.apache.logging.log4j.core.appender.db.ColumnMapping" minOccurs="0" maxOccurs="unbounded"></element><element name="Column" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig" minOccurs= [...]
-
-The connections are served from an Apache Commons DBCP pooling driver.</documentation></annotation><sequence><element name="PoolableConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolableConnectionFactoryConfig" minOccurs="0"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driver [...]
-
-It requires a pre-configured JPA persistence unit and a concrete implementation of the abstract apiref:org.apache.logging.log4j.core.appender.db.jpa.AbstractLogEventWrapperEntity[] class decorated with JPA annotations.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>The filter, if any, to use.</documentation></annotation></group></sequence><attribute name="bufferSize" type="string"><annotation><documen [...]
-
-This Appender replaces the previous split ones.
-However, configurations set up for the 2.0 version of the JMS appenders will still work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="destinationBindingName" type="string"></attribute>< [...]
-
-Requires the JeroMQ jar (LGPL as of 0.3.5)</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="affinity" type="long"></attribute><attribute name="backlog" type="long"></attribute><attribute na [...]
-
-It requires implementations of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlObject[], apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlConnection[], and apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] to "know" how to write events to the chosen NoSQL database.
-
-For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB and CouchDB providers.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><ele [...]
-
-The DefaultRolloverStrategy is a combination of a time-based policy and a fixed-window policy.
-When the file name pattern contains a date format then the rollover time interval will be used to calculate the time to use in the file pattern.
-When the file pattern contains an integer replacement token one of the counting techniques will be used.
-
-When the ascending attribute is set to true (the default) then the counter will be incremented and the current log file will be renamed to include the counter value.
-If the counter hits the maximum value then the oldest file, which will have the smallest counter, will be deleted, all other files will be renamed to have their counter decremented and then the current file will be renamed to have the maximum counter value.
-Note that with this counting strategy specifying a large maximum value may entirely avoid renaming files.
-
-When the ascending attribute is false, then the "normal" fixed-window strategy will be used.
-
-Let _max_ and _min_ represent the values of respectively the *MaxIndex* and *MinIndex* options.
-Let "foo.
-log" be the value of the *ActiveFile* option and "foo.
-%i.log" the value of *FileNamePattern*. Then, when rolling over, the file `foo. _max_.log` will be deleted, the file `foo. _max-1_.log` will be renamed as `foo. _max_.log`, the file `foo. _max-2_.log` renamed as `foo. _max-1_.log`, and so on, the file `foo. _min+1_.log` renamed as `foo. _min+2_.log`. Lastly, the active file `foo. log` will be renamed as `foo. _min_.log` and a new active file name `foo. log` will be created.
-
-Given that this rollover algorithm requires as many file renaming operations as the window size, large window sizes are discouraged.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="compressionLevel" type="string"></attribute><attribute name="fileIndex" type="string"></attribute><attribute name="max" type="string"></attribute><attribute name="min" t [...]
-
-Files will be renamed files according to an algorithm as described below.
-
-The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy to determine the file name based on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it during rollover, except if it is compressed, in which case it will add the appropriate file extension.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"></group></sequ [...]
-
-Such conditions include time of day, file size, an external event, the log request or a combination thereof.</documentation></annotation><choice><element name="Policies" type="log4j:org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"/><element name="CronTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"/><element name="NoOpTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy [...]
-Default is false.</documentation></annotation></attribute><attribute name="maxDepth" type="int"><annotation><documentation>The maxDepth parameter is the maximum number of levels of directories to visit.
-A value of 0 means that only the starting file is visited, unless denied by the security manager.
-A value of MAX_VALUE may be used to indicate that all levels should be visited.</documentation></annotation></attribute><attribute name="testMode" type="boolean"><annotation><documentation>if true, files are not deleted but instead a message is printed to the status logger at INFO level.
-Users can use this to do a dry run to test if their configuration works as expected.
-Default is false.</documentation></annotation></attribute></complexType><simpleType name="org.apache.logging.log4j.core.appender.rolling.action.Duration"><annotation><documentation>Simplified implementation of the ISO-8601 Durations standard.
-
-The supported format is `PnDTnHnMnS`, with 'P' and 'T' optional.
-Days are considered to be exactly 24 hours.
-
-Similarly to the `java. time. Duration` class, this class does not support year or month sections in the format.
-This implementation does not support fractions or negative values.</documentation></annotation><restriction base="string"></restriction></simpleType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"><annotation><documentation>PathCondition that accepts paths after some count threshold is exceeded during the file tree walk.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondit [...]
-
-Corresponds to logical "AND".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" maxOccurs="unbounded"><annotation><documentation>The component filters.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAny"><annotation><documentation>Composite `PathCondition` that accepts objects that are accepted by _any_ component conditions.
-
-Corresponds to logical "OR".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" maxOccurs="unbounded"><annotation><documentation>The component conditions.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfFileName"><annotation><documentation>PathCondition that accepts files for deletion if their relative path matches either a glob [...]
-
-If both a regular expression and a glob pattern are specified the glob pattern is used and the regular expression is ignored.
-
-The regular expression is a pattern as defined by the apiref:java.util.regex.Pattern[] class.
-A glob is a simplified pattern expression described in apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested conditions to evaluate if this condition accepts a path</documentation></annotation></group></sequence><attribute name="glob" type="string"><annotation><documentation>the baseDir-relat [...]
-
-Allow to define file permissions, user and group for log files on POSIX supported OS.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="basePath" type="string"></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attr [...]
-
-The specified script may be a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.core.script.ScriptFile[] or a apiref:org.apache.logging.log4j.core.script.ScriptRef[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0"><annotation><documentation>The script to run.
-This may be a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.core.script.ScriptFile[] or a apiref:org.apache.logging.log4j.core.script.ScriptRef[]. The script must return a `List&lt;PathWithAttributes&gt;`. When the script is executed, it is provided the following bindings:
-
-* basePath - the directory from where the apiref:org.apache.logging.log4j.core.appender.rolling.action.DeleteAction[Delete] action started scanning for files to delete.
-Can be used to relativize the paths in the pathList.
-* pathList - a `java. util. List` containing apiref:org.apache.logging.log4j.core.appender.rolling.action.PathWithAttributes[] objects.
-(The script is free to modify and return this list.
-)
-* substitutor - a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.lookup.StrSubstitutor[] that can be used to look up variables embedded in the base dir or other properties
-* statusLogger - the apiref:org.apache.logging.log4j.status.StatusLogger[] that can be used to log events during script execution
-* any properties declared in the configuration</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"><annotation><documentation>Policy is purging appenders that were not in use specified time in minutes</documentation></annotation><attribute name="checkInterval" type="string"><annotation><documentation>when all appenders purged, the number of increments of timeUnit to check if any appenders appeared [...]
-
-Routing is achieved by specifying a pattern on the Routing appender declaration.
-The pattern should contain one or more substitution patterns of the form "$${[key:]token}". The pattern will be resolved each time the Appender is called using the built in StrSubstitutor and the StrLookup plugin that matches the specified key.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appen [...]
-
-AsyncLoggerConfig is a logger designed for high throughput and low latency logging.
-It does not perform any I/O in the calling (application) thread, but instead hands off the work to another thread as soon as possible.
-The actual logging is performed in the background thread.
-It uses LMAX Disruptor for inter-thread communication.
-
-To use AsyncLoggerConfig, specify `&lt;asyncLogger&gt;` or `&lt;asyncRoot&gt;` in configuration.
-
-Note that for performance reasons, this logger does not include source location by default.
-You need to specify `includeLocation="true"` in the configuration or any %class, %location or %line conversion patterns in your log4j.
-xml configuration will produce either a "?" character or no output at all.
-
-For best performance, use AsyncLoggerConfig with the RandomAccessFileAppender or RollingRandomAccessFileAppender, with immediateFlush=false.
-These appenders have built-in support for the batching mechanism used by the Disruptor library, and they will flush to disk at the end of each batch.
-This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.conf [...]
-The possible values are:
-
-* `out` for using standard out (default)
-* `err` for using standard error
-* a string that is interpreted in order as URI, URL or the path to a local file
-
-If the provided value is invalid, then the default destination of standard out will be used.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the configuration</documentation></annotation></attribute><attribute name="monitorInterval" type="int"><annotation><documentation>Number of seconds between polls for configuration changes</documentation></annotation></attribute><attribute name="schema" type="string"><annotation><documen [...]
-Possible values are `enable` and `disable`.
-The shutdown hook is enabled by default, unless Log4j detects the presence of the Servlet API.</documentation></annotation></attribute><attribute name="shutdownTimeout" type="int"><annotation><documentation>Timeout in milliseconds of the logger context shut down</documentation></annotation></attribute><attribute name="status" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the level of the status logger</documentation></annotation></attribute><attribute name=" [...]
-
-ConfigurationFactory allows the configuration implementation to be dynamically chosen in 1 of 3 ways:
-
-. A system property named "log4j.
-configurationFactory" can be set with the name of the ConfigurationFactory to be used.
-. apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#setConfigurationFactory(ConfigurationFactory)[] can be called with the instance of the ConfigurationFactory to be used.
-This must be called before any other calls to Log4j.
-. A ConfigurationFactory implementation can be added to the classpath and configured as a plugin in the apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#CATEGORY[ConfigurationFactory] category.
-The apiref:org.apache.logging.log4j.core.config.Order[] annotation should be used to configure the factory to be the first one inspected.
-See apiref:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory[] for an example.
-
-If the ConfigurationFactory that was added returns null on a call to getConfiguration then any other ConfigurationFactories found as plugins will be called in their respective order.
-DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="Log4j1PropertiesConfigurationFactory" type="log4j:org.apache.log4j.config.PropertiesConfigurationFactory"/><element name="Log4j1XmlConfigurationFactory" type="log4j:org.apache.log4j.xml.XmlConfigurationFactory"/><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="Properties [...]
-
-The supported formats are:
-
-* 0x0123456789ABCDEF
-* Base64:ABase64String
-* String using apiref:java.nio.charset.Charset#defaultCharset()[] [TODO Should this be UTF-8 instead?
-]</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `char[]`.</documentation></ann [...]
-
-Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into [...]
-
-Filters can be either context wide or attached to an appender.
-A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[].
-
-Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilte [...]
-
-Use this filter when you want to control the maximum burst of log statements that can be sent to an appender.
-The filter is configured in the log4j configuration file.
-For example, the following configuration limits the number of INFO level (as well as DEBUG and TRACE) log statements that can be sent to the console to a burst of 100 with an average rate of 16 per second.
-WARN, ERROR and FATAL messages would continue to be delivered.
-`&lt;Console name="console"&gt; &lt;PatternLayout pattern="%-5p %d{dd-MMM-yyyy HH:mm:ss} %x %t %m%n"/&gt; &lt;Filters&gt; &lt;BurstFilter level="INFO" rate="16" maxBurst="100"/&gt; &lt;/Filters&gt; &lt;/Console&gt;`</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the logging level to use.</documentation></annotation></attribute><attribute name="maxBurst" type="long"><annotation><documentation>Sets the maximum [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="rate" type="float"><annotation><documentation>Sets the average number of events per second to allow.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.CompositeFilter"><annotation><documentation>Composes and invokes one or more filters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0" maxOccurs="unbounded"><a [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.DynamicThresholdFilter"><annotation><documentation>Compares against a log level that is associated with a context value.
-
-By default the context is the apiref:org.apache.logging.log4j.ThreadContext[] and/or the apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.ScopedContext[], but users may add a custom apiref:org.apache.logging.log4j.core.util.ContextDataProvider[] which obtains context data from some other source.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation [...]
-
-Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoO [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.LevelRangeFilter"><annotation><documentation>This filter returns the apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] result if the level of the apiref:org.apache.logging.log4j.core.LogEvent[] is in the range of the configured apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRa [...]
-
-The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] are set to apiref:org.apache.logging.log4j.Level#OFF[] and apiref:org.apache.logging.log4j.Level#ALL[], respectively.
-The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] are set to apiref:org.apache.logging.log4j.core.filter.Result#NEUTRAL[] and apiref:org.apache.logging.log4j.core.filter.Result#DENY[], respectively.
-
-The levels get compared by their associated integral values; apiref:org.apache.logging.log4j.Level#OFF[] has an integral value of 0, apiref:org.apache.logging.log4j.Level#FATAL[] 100, apiref:org.apache.logging.log4j.Level#ERROR[] 200, and so on.
-For example, if the filter is configured with apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] set to apiref:org.apache.logging.log4j.Level#INFO[], the filter will return apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] result for apiref:org.apache.logging.log4j.core.LogEvent[]s of level with higher integral values; apiref:org.apache.logging.log4j.Level#DEBUG[], apiref:org.apache.logging.log4j.Level#TRACE[], etc.</documentation></annotation [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="pollInterval" type="long"><annotation><documentation>Set the frequency in seconds that changes to the list a ThreadContext valudes should be checked.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.NoMarkerFilter"><annotation><documentation>This filter returns the onMatch result if there is no marker in the LogEvent.</documentation></annotation><attribute name="onM [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.RegexFilter"><annotation><documentation>This filter returns the onMatch result if the message matches the regular expression.
-
-The "useRawMsg" attribute can be used to indicate whether the regular expression should be applied to the result of calling Message.
-getMessageFormat (true) or Message.
-getFormattedMessage() (false). The default is false.</documentation></annotation><sequence></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a mismatch occurs.</documentation></annotation></attribut [...]
-The script must return a boolean value.
-Either script or scriptFile must be provided.</documentation></annotation></group></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if no match occurs.</documentation></annotation></attribute></complexType><comp [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="text" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.StructuredDataFilter"><annotation><documentation>Filter based on data in a StructuredDataMessage.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Key and value pairs.</documentation></ [...]
-If not "or" the operation will be an "and".</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.ThreadContextMapFilter"><annotation><documentation>Filter based on a value in the Thread Context Map (MDC).</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="onMatch" type="log4j:org.apa [...]
-
-For example, if the ThresholdFilter is configured with Level ERROR and the LogEvent contains Level DEBUG then the onMismatch value will be returned since ERROR events are more specific than DEBUG.
-The default Level is ERROR.</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log Level.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><docume [...]
-
-Depends on Apache Commons CSV 1.2.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractJacksonLayout"><choice><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="XmlLayout"  [...]
-
-Since 2.4.1, this class has custom logic to convert ISO-8859-1 or US-ASCII Strings to byte[] arrays to improve performance: all characters are simply cast to bytes.</documentation></annotation><choice><element name="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element n [...]
-
-Depends on Apache Commons CSV 1.2.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.CsvPa [...]
-
-The event message is currently ignored.
-
-Best used with:
-
-`logger. debug(new ObjectArrayMessage(1, 2, "Bob"));` Depends on Apache Commons CSV 1.4.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><group  [...]
-
-This layout compresses JSON to GZIP or ZLIB (the `compressionType`) if log event data is larger than 1024 bytes (the `compressionThreshold`). This layout does not implement chunking.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"><annotation><documentation>The PatternSelector to use to format the message.</documentation></annotation></group><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.u [...]
-
-Useful for Graylog GELF TCP input.</documentation></annotation></attribute><attribute name="includeStacktrace" type="boolean"><annotation><documentation>Whether to include full stacktrace of logged Throwables (optional, default to true).
-
-If set to false, only the class name and message of the Throwable will be included.</documentation></annotation></attribute><attribute name="includeThreadContext" type="boolean"><annotation><documentation>Whether to include thread context as additional fields (optional, default to true).</documentation></annotation></attribute><attribute name="mapMessageExcludes" type="string"><annotation><documentation>A comma separated list of MapMessage keys to exclude;</documentation></annotation></a [...]
-
-Appenders using this layout should have their encoding set to UTF-8 or UTF-16, otherwise events containing non ASCII characters could result in corrupted log files.</documentation></annotation><attribute name="contentType" type="string"></attribute><attribute name="datePattern" type="string"></attribute><attribute name="fontName" type="string"></attribute><attribute name="fontSize" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout.FontSize"></attribute><attribute name="location [...]
-
-Please use JsonTemplateLayout instead.
-Appends a series of JSON events as strings serialized as bytes.
-
-== Additional Fields
-
-If you configure `complete="true"`, the appender outputs a well-formed JSON document.
-By default, with `complete="false"`, you should include the output as an _external file_ in a separate file to form a well-formed JSON document.
-
-If `complete="false"`, the appender does not write the JSON open array character "[" at the start of the document, "]" and the end, nor comma "," between records.
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non ASCII characters could result in corrupted log files.
-
-By default, the JSON layout is not compact (a.k.a. "pretty") with `compact="false"`, which means the appender uses end-of-line characters and indents lines to format the text.
-If `compact="true"`, then no end-of-line or indentation is used.
-Message content may contain, of course, escaped end-of-lines.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;JsonLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/JsonLayout&gt;` inserts `"foo":"bar"` directly into JSON output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="objectMessageAsJsonObject" type="boolean"></attribute><attribute name="p [...]
-
-Useful in combination with a JMS Appender to map a Log4j apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.message.MapMessage[] or apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.message.StringMapMessage[] to a JMS apiref:org.apache.logging.log4j.core.layout.javax.jms.MapMessage[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.layout.PatternLayout"><annotation><documentation>A flexible layout configurabl [...]
-
-The goal of this class is to apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.core.Layout#toByteArray[format] a apiref:org.apache.logging.log4j.core.LogEvent[] and return the results.
-The format of the result depends on the _conversion pattern_.
-
-The conversion pattern is closely related to the conversion pattern of the printf function in C. A conversion pattern is composed of literal text and format control expressions called _conversion specifiers_.
-
-See the Log4j Manual for details on the supported pattern converters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"></group><element name="Replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacement" minOccurs="0"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="footer" type="string"> [...]
-Defaults to "true:.</documentation></annotation></attribute><attribute name="mdcExcludes" type="string"><annotation><documentation>A comma separated list of MDC keys that should be excluded from the LogEvent.</documentation></annotation></attribute><attribute name="mdcId" type="string"><annotation><documentation>The id to use for the MDC Structured Data Element.</documentation></annotation></attribute><attribute name="mdcIncludes" type="string"><annotation><documentation>A comma separate [...]
-The default is false.</documentation></annotation></attribute><attribute name="newLineEscape" type="string"><annotation><documentation>String that should be used to replace newlines within the message text.</documentation></annotation></attribute><attribute name="useTlsMessageFormat" type="boolean"><annotation><documentation>If true the message will be formatted according to RFC 5425.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.l [...]
-
-The returned value will be used as the "key" to choose between one of the configured patterns.
-If no key is returned or there is no match the default pattern will be used.</documentation></annotation><sequence><element name="PatternMatch" type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0" maxOccurs="unbounded"></element><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0"></group></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="defaultPattern" type="string"></attribute><attribut [...]
-dtd.
-
-== Additional Fields
-
-If you configure `complete="true"`, the appender outputs a well-formed XML document where the default namespace is the log4j namespace . By default, with `complete="false"`, you should include the output as an _external entity_ in a separate file to form a well-formed XML document.
-
-If `complete="false"`, the appender does not write the XML processing instruction and the root element.
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non-ASCII characters could result in corrupted log files.
-
-By default, the XML layout is not compact (compact = not "pretty") with `compact="false"`, which means the appender uses end-of-line characters and indents lines to format the XML.
-If `compact="true"`, then no end-of-line or indentation is used.
-Message content may contain, of course, end-of-lines.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;XmlLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/XmlLayout&gt;` inserts `&lt;foo&gt;bar&lt;/foo&gt;` directly into XML output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsStri [...]
-
-== Additional Fields
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non ASCII characters could result in corrupted log files.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;YamlLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/YamlLayout&gt;` inserts `foo: "bar"` directly into YAML output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsStri [...]
-
-Handles saving the Configuration.</documentation></annotation><choice><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.lookup.AbstractLookup"><annotation><documentation>A default lookup for others to extend.</documentation></annotation><choice><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging.log4j.core [...]
-
-By default this is the apiref:org.apache.logging.log4j.ThreadContext[] or apiref:org.apache.logging.log4j.ScopedContext[]. Users may add their own apiref:org.apache.logging.log4j.core.lookup.org.apache.logging.log4j.core.util.ContextDataProvider[] which can be retrieved via this Lookup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.DateLookup"><annotation><documentation>Formats the current date or the date in the LogEvent.
-
-The "key" is used as the format String, following the java.
-text.
-SimpleDateFormat date and time pattern strings.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EnvironmentLookup"><annotation><documentation>Looks up keys from environment variables.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EventLookup"><annotation><documentation>Looks up values from the log event.</documentation></annotation></complexType><complexType name="org.apache.logging.log4 [...]
-
-The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MainMapLookup"><annotation><documentation>A map-based lookup for main arguments.
-
-See apiref:org.apache.logging.log4j.core.lookup.MainMapLookup#setMainArguments(String[])[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A map-based lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A map-based lookup.</documentation></annotation><choice><element name="jvmrunargs" type="log4j:org.apache.logging. [...]
-
-This class represents the simplest form of a string to string map.
-It has a benefit over a map in that it can create the result on demand based on the key.
-
-This class comes complete with various factory methods.
-If these do not suffice, you can subclass and implement your own matcher.
-
-For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database</documentation></annotation><choice><element name="ctx" type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element name="date" type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging [...]
-
-The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.net.Advertiser"><choice><element name="Default" type="log4j:org.apache.logging.log4j.core.config.DefaultAdvertiser"/><element name="MulticastDns" type="log4j:org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"/></choice></group><simpleType name="org.apache.logging.log4j.core.net.Facility"><annotation><documentation>The facility codes used b [...]
-
-[cols="1,1"]
-|===
-
-h| Numerical Code
-h| Facility
-
-h| Facility
-| 0
-| kernel messages
-
-| 1
-| user-level messages
-
-| 2
-| mail system
-
-| 3
-| system daemons
-
-| 4
-| security/authorization messages
-
-| 5
-| messages generated internally by syslogd
-
-| 6
-| line printer subsystem
-
-| 7
-| network news subsystem
-
-| 8
-| UUCP subsystem
-
-| 9
-| clock daemon
-
-| 10
-| security/authorization messages
-
-| 11
-| FTP daemon
-
-| 12
-| NTP subsystem
-
-| 13
-| log audit
-
-| 14
-| log alert
-
-| 15
-| clock daemon (note 2)
-
-| 16
-| local use 0 (local0)
-
-| 17
-| local use 1 (local1)
-
-| 18
-| local use 2 (local2)
-
-| 19
-| local use 3 (local3)
-
-| 20
-| local use 4 (local4)
-
-| 21
-| local use 5 (local5)
-
-| 22
-| local use 6 (local6)
-
-| 23
-| local use 7 (local7)
-
-|===</documentation></annotation><restriction base="string"><enumeration value="KERN"><annotation><documentation>Kernel messages.</documentation></annotation></enumeration><enumeration value="USER"><annotation><documentation>User level messages.</documentation></annotation></enumeration><enumeration value="MAIL"><annotation><documentation>Mail system.</documentation></annotation></enumeration><enumeration value="DAEMON"><annotation><documentation>System daemons.</documentation></annotati [...]
-
-The length of property names and values must be 255 bytes or less.
-Entries with names or values larger than 255 bytes will be removed prior to advertisement.</documentation></annotation></complexType><simpleType name="org.apache.logging.log4j.core.net.Protocol"><annotation><documentation>Enumerates the supported protocols.</documentation></annotation><restriction base="string"><enumeration value="TCP"><annotation><documentation>TCP Protocol.</documentation></annotation></enumeration><enumeration value="SSL"><annotation><documentation>SSL Protocol.</docu [...]
-
-* `IPTOS_LOWCOST (0x02)`
-* `IPTOS_RELIABILITY (0x04)`
-* `IPTOS_THROUGHPUT (0x08)`
-* `IPTOS_LOWDELAY (0x10)`
-*</documentation></annotation><restriction base="string"><enumeration value="IPTOS_NORMAL"><annotation><documentation>IPTOS_NORMAL (0x00)</documentation></annotation></enumeration><enumeration value="IPTOS_LOWCOST"><annotation><documentation>IPTOS_LOWCOST (0x02)</documentation></annotation></enumeration><enumeration value="IPTOS_LOWDELAY"><annotation><documentation>IPTOS_LOWDELAY (0x10)</documentation></annotation></enumeration><enumeration value="IPTOS_RELIABILITY"><annotation><document [...]
-
-See apiref:java.net.Socket#setPerformancePreferences(int,int,int)[].</documentation></annotation></element></sequence><attribute name="rfc1349TrafficClass" type="log4j:org.apache.logging.log4j.core.net.Rfc1349TrafficClass"><annotation><documentation>See apiref:java.net.Socket#setTrafficClass(int)[].
-
-See apiref:java.net.Socket#setTrafficClass(int)[].</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.net.SocketPerformancePreferences"><annotation><documentation>Holds all socket options settable via apiref:java.net.Socket#setPerformancePreferences(int,int,int)[].
-
-The apiref:java.net.Socket#setPerformancePreferences(int,int,int)[] API may not be implemented by a JRE.</documentation></annotation><attribute name="bandwidth" type="int"></attribute><attribute name="connectionTime" type="int"></attribute><attribute name="latency" type="int"></attribute></complexType><group name="org.apache.logging.log4j.core.net.ssl.AbstractKeyStoreConfiguration"><annotation><documentation>Configuration of the KeyStore</documentation></annotation><choice><element name= [...]
-See the Java Secure Socket Extension Reference Guide for information about these names.</documentation></annotation></attribute><attribute name="location" type="string"><annotation><documentation>The location of the KeyStore, a file path, URL or resource.</documentation></annotation></attribute><attribute name="password" type="string"><annotation><documentation>The password to access the KeyStore.</documentation></annotation></attribute><attribute name="passwordEnvironmentVariable" type= [...]
-oracle.
-com/javase/7/docs/technotes/guides/security/StandardNames.
-html#SSLContext</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.net.ssl.StoreConfiguration"><choice><element name="KeyStore" type="log4j:org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"/><element name="TrustStore" type="log4j:org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"/></choice></group><complexType name="org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"><annotation><documentation>Configuration o [...]
-See the Java Secure Socket Extension Reference Guide for information these names.</documentation></annotation></attribute><attribute name="type" type="string"><annotation><documentation>The KeyStore type, null defaults to `"JKS"`.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.pattern.AbstractPatternConverter"><annotation><documentation>AbstractPatternConverter is an abstract class that provides the formatting functionality that derived c [...]
-
-Conversion specifiers in a conversion patterns are parsed to individual PatternConverters.
-Each of which is responsible for converting an object in a converter specific manner.</documentation></annotation><choice><element name="Log4j1LevelPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1LevelPatternConverter"/><element name="Log4j1MdcPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1MdcPatternConverter"/><element name="Log4j1NdcPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1NdcPatternConverter"/><element name="black" type="log4j:org.apache. [...]
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation><choice><element name="black" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"/><element name="blue" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"/><element name="cyan" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"/><element name="green" type="log4j:org.apache.logging.log4j.core.pattern.Abst [...]
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"><annotation><documentation>Blue style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"><annotation><documentation>Cyan style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Green"><annotation><documentation>Green style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"><annotation><documentation>Magenta style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"><annotation><documentation>Red style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"><annotation><documentation>White style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"><annotation><documentation>Yellow style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.AnsiConverter"><annotation><documentation>Marks classes that implement ANSI escape code conversions.</documentation></annotation><choice><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/></choice></gr [...]
-
-Supported formats include HTML (default) and JSON.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"><annotation><documentation>Formats the EndOfBatch.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.EqualsBaseReplacementConverter"><annotation><documentation>Equals pattern converter.</documentation></annotation><choice><element name="equalsIgnoreCase" type="log4j:org. [...]
-
-The extended stack trace will also include the location of where the class was loaded from and the version of the jar if available.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.FileDatePatternConverter"><annotation><documentation>Formats a date by delegating to apiref:org.apache.logging.log4j.core.pattern.DatePatternConverter[].
-
-The default date pattern for a %d specifier in a file name is different than the %d pattern in pattern layout.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"><annotation><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"><annotation><documentation>For [...]
-
-Formats the result of a pattern using a color appropriate for the Level in the LogEvent.
-
-For example:
-
-[source,java]
-----
-%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}
-----
-
-You can define custom colors for each Level:
-
-[source,java]
-----
-%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=cyan,
-TRACE=black}
-----
-
-You can use a predefined style:
-
-[source,java]
-----
-%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT}
-----
-
-The available predefined styles are:
-
-* `Default`
-* `Log4j` - The same as `Default`
-* `Logback`
-
-You can use whitespace around the comma and equal sign.
-The names in values MUST come from the apiref:org.apache.logging.log4j.core.pattern.AnsiEscape[] enum, case is normalized to upper-case internally.
-
-To disable ANSI output unconditionally, specify an additional option `disableAnsi=true`, or to disable ANSI output if no console is detected, specify option `noConsoleNoAnsi=true` e.g..
-
-[source,java]
-----
-%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT, noConsoleNoAnsi=true}
-----</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.IntegerPatternConverter"><annotation><documentation>Formats an integer.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LevelPatternConverter"><annotation><documentation>Returns the event's level in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LineLocationPatternCon [...]
-util.
-Hashtable.
-toString(), or to output the value of a specific key within the Map.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MarkerPatternConverter"><annotation><documentation>Returns events' full marker string in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"><annotation><documentation>Appends an event's maker name to a StringBuilder.</documen [...]
-
-Limit contained text to a maximum length.
-On invalid length the default value 100 is used (and an error message is logged). If max length is greater than 20, an abbreviated text will get ellipsis ("...") appended.
-Example usage (for email subject):
-
-[source,java]
-----
-`%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =&gt;%ex{short}}}{160}`
-----</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MdcPatternConverter"><annotation><documentation>Able to handle the contents of the LogEvent's MDC and either output the entire contents of the properties in a similar format to the java.
-util.
-Hashtable.
-toString(), or to output the value of a specific key within the property bundle when this pattern converter has the option set.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MessagePatternConverter"><annotation><documentation>Returns the event's rendered message in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"><annotation><documentatio [...]
-
-The extended stack trace will also include the location of where the class was loaded from and the version of the jar if available.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"><annotation><documentation>Formats the event sequence number.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.StyleConverter"><annotation><documentation>Style pattern converter.
-
-Adds ANSI color styling to the result of the enclosed pattern.
-
-To disable ANSI output unconditionally, specify an additional option `disableAnsi=true`, or to disable ANSI output if no console is detected, specify option `noConsoleNoAnsi=true`.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"><annotation><documentation>Formats the event thread ID.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"><an [...]
-
-Causes a reconfiguration when a file changes.</documentation></annotation><choice><element name="http" type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><group name="org.apache.logging.log4j.core.util.Builder"><annotation><documentation>A type of builder that can be used to configure and create a instances using a Java DSL instead of through a configuration file.
-
-These builders are primarily useful for internal code and unit tests, but they can technically be used as a verbose alternative to configuration files.
-
-When creating _plugin_ builders, it is customary to create the builder class as a public static inner class called `Builder`. For instance, the builder class for apiref:org.apache.logging.log4j.core.util.org.apache.logging.log4j.core.layout.PatternLayout[PatternLayout] would be `PatternLayout. Builder`.</documentation></annotation><choice><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions"/><element name="SocketPerformancePreferences" type="log4j:or [...]
-Defaults to 1.</documentation></annotation></attribute><attribute name="compress" type="string"><annotation><documentation>If true the event body will be compressed.</documentation></annotation></attribute><attribute name="connectTimeoutMillis" type="string"><annotation><documentation>The amount of time in milliseconds to wait before a connection times out.
-Minimum is 1000.</documentation></annotation></attribute><attribute name="dataDir" type="string"><annotation><documentation>The directory where the Flume FileChannel should write its data.</documentation></annotation></attribute><attribute name="embedded" type="string"><annotation><documentation>true if the embedded agent manager should be used.
-otherwise the Avro manager will be used.
-*Note:*_The embedded attribute is deprecated in favor of specifying the type attribute._</documentation></annotation></attribute><attribute name="eventPrefix" type="string"><annotation><documentation>The prefix to add to event key names.</documentation></annotation></attribute><attribute name="hosts" type="string"></attribute><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise [...]
-Minimum is 1000.</documentation></annotation></attribute><attribute name="type" type="string"><annotation><documentation>Avro (default), Embedded, or Persistent.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.flume.appender.FlumeEventFactory"><annotation><documentation>Factory to create Flume events.</documentation></annotation><choice><element name="Flume" type="log4j:org.apache.logging.log4j.flume.appender.FlumeAppender"/></choice></group><c [...]
-
-Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.</documentation></annotation></attribute><attribute name="name" type="string"></attribute></complexType></schema>
\ No newline at end of file
diff --git a/xml/ns/log4j-config-2.xsd b/xml/ns/log4j-config-2.xsd
deleted file mode 100644
index 8d81b644..00000000
--- a/xml/ns/log4j-config-2.xsd
+++ /dev/null
@@ -1,618 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns" version="2.24.0-SNAPSHOT"><element type="log4j:org.apache.logging.log4j.core.config.Configuration" name="Configuration"/><simpleType name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction base="string"><enumeration value="WAITING"></enumeration><enumeration valu [...]
-
-In this class, order of apiref:org.apache.logging.log4j.Level[] is log4j1 way, i.e., apiref:org.apache.logging.log4j.Level#ALL[] and apiref:org.apache.logging.log4j.Level#OFF[] have minimum and maximum order, respectively.
-(see: LOG4J2-2315)</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.filter.StringMatchFilterBuilder"><annotation><documentation>Build a String match filter.</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.layout.HtmlLayoutBuilder"><annotation><documentation>Build a Pattern Layout</documentation></annotation></complexType><group name="org.apache.log4j.builders.layout.LayoutBuilder"><annotation><documentation>Defi [...]
-
-Provided for compatibility with existing Log4j 1 configurations.
-Originally developed by Ceki Glc and Anders Kristensen.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group></sequence><attribute name="facility" type="log4j:org.apache.logging.log4j.core.net.Facility"></attribute><attribute name="facilityPrinting" type="boolean"></attribute><attribute name="footer" type="string"></attribute><attribute name="header" type="boolean"></attribute></complexType><complexType name="org.apache.log4j [...]
-
-Provided for compatibility with existing Log4j 1 configurations.
-Originally developed by Ceki Glc, Mathias Bogaert.</documentation></annotation><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute></complexType><complexType name="org.apache.log4j.pattern.Log4j1LevelPatternConverter"><annotation><documentation>Outputs the Log4j 1.x level name.</documentation></annotation></complexType><complexType name="org.apache.log4j.pattern.Log4j1MdcPatternConverter"><annotation><documentation>Able to han [...]
-NOTE: The Log4j API supports custom levels, the following list contains only the standard ones.</documentation></annotation><restriction base="string"><enumeration value="OFF"><annotation><documentation>Special level that disables logging.
-No events should be logged at this level.</documentation></annotation></enumeration><enumeration value="FATAL"><annotation><documentation>A fatal event that will prevent the application from continuing</documentation></annotation></enumeration><enumeration value="ERROR"><annotation><documentation>An error in the application, possibly recoverable</documentation></annotation></enumeration><enumeration value="WARN"><annotation><documentation>An event that might possible lead to an error</do [...]
-
-Addresses without a port (or port set to 0) will use the default Cassandra port (9042).</documentation></annotation></element></sequence><attribute name="batchType" type="log4j:com.datastax.driver.core.BatchStatement.Type"><annotation><documentation>If batch statements are enabled, use this type of batch statement.</documentation></annotation></attribute><attribute name="batched" type="boolean"><annotation><documentation>Whether or not to use batch statements when inserting records.</doc [...]
-
-Can be used with or without batch statements.</documentation></annotation></attribute><attribute name="clusterName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="keyspace" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="table" type="string"></attribute><attribute name="useClockForTimestampGenerator" type="boolean"><annotation><documen [...]
-
-Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name= [...]
-
-An Appender can contain a apiref:org.apache.logging.log4j.core.Layout[] if applicable as well as an apiref:org.apache.logging.log4j.core.ErrorHandler[]. Typical Appender implementations coordinate with an implementation of apiref:org.apache.logging.log4j.core.appender.AbstractManager[] to handle external resources such as streams, connections, and other shared state.
-As Appenders are plugins, concrete implementations need to be annotated with apiref:org.apache.logging.log4j.core.config.plugins.Plugin[] and need to provide a static factory method annotated with apiref:org.apache.logging.log4j.core.config.plugins.PluginFactory[].
-
-Most core plugins are written using a related Manager class that handle the actual task of serializing a apiref:org.apache.logging.log4j.core.LogEvent[] to some output location.
-For instance, many Appenders can take advantage of the apiref:org.apache.logging.log4j.core.appender.OutputStreamManager[] class.
-
-It is recommended that Appenders don't do any heavy lifting since there can be many instances of the class being used at any given time.
-When resources require locking (e.g., through apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is important to isolate synchronized code to prevent concurrency issues.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAp [...]
-
-It is highly recommended that applications make use of the Filters provided with this implementation before creating their own.
-
-This interface supports "global" filters (i.e. - all events must pass through them first), attached to specific loggers and associated with Appenders.
-It is recommended that, where possible, Filter implementations create a generic filtering method that can be called from any of the filter methods.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilter"/><element name="Filters" type="log4j:org.apache.logging.log4j.core.filter.CompositeFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThreshold [...]
-
-The formats are:
-
-* `byte[]`
-* an implementer of apiref:java.io.Serializable[], like `byte[]`
-* apiref:java.lang.String[]
-* apiref:org.apache.logging.log4j.core.LogEvent[]
-
-Since 2.6, Layouts can apiref:org.apache.logging.log4j.core.layout.Encoder#encode(Object,ByteBufferDestination)[encode] a `LogEvent` directly to a apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without creating temporary intermediary objects.</documentation></annotation><choice><element name="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name= [...]
-
-In Log4j, the main interface for handling the life cycle context of an object is this one.
-An object first starts in the apiref:org.apache.logging.log4j.core.State#INITIALIZED[] state by default to indicate the class has been loaded.
-From here, calling the apiref:org.apache.logging.log4j.core.LifeCycle#start()[] method will change this state to apiref:org.apache.logging.log4j.core.State#STARTING[]. After successfully being started, this state is changed to apiref:org.apache.logging.log4j.core.State#STARTED[]. When the apiref:org.apache.logging.log4j.core.LifeCycle#stop()[] is called, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPING[] state.
-After successfully being stopped, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPED[] state.
-In most circumstances, implementation classes should store their apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[] dependent on synchronization and concurrency requirements.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.Asy [...]
-
-This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name [...]
-
-Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.Cou [...]
-
-The stream encoding is defined in the layout.</documentation></annotation><choice><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="R [...]
-
-You can configure an AsyncAppender with one or more Appenders and an Appender to append to if the queue is full.
-The AsyncAppender does not allow a filter to be specified on the Appender references.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.con [...]
-
-The default target is `System. out`.
-
-TODO Accessing `System. out` or `System. err` as a byte stream instead of a writer bypasses the JVM's knowledge of the proper encoding.
-(RG) Encoding is handled within the Layout.
-Typically, a Layout will generate a String and then call getBytes which may use a configured encoding or the system default.
-OTOH, a Writer cannot print byte streams.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attrib [...]
-
-Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter (optional).</documentation></annotation></group></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...]
-
-Use for compatibility with version 1.2 and handy for composing a apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.OutputStreamAppender"><annotation><documentation>Appends log events to a given output stream using a layout.
-
-Character encoding is handled within the Layout.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute> [...]
-
-The number of logging events delivered in this e-mail depend on the value of *BufferSize* option.
-The `SmtpAppender` keeps only the last `BufferSize` logging events in its cyclic buffer.
-This keeps memory requirements at a reasonable level while still delivering useful application context.
-By default, an email message will formatted as HTML.
-This can be modified by setting a layout for the appender.
-By default, an email message will be sent when an ERROR or higher severity message is appended.
-This can be modified by setting a filter for the appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>Specifies the filter used for this appender.
-
-By default, uses a apiref:org.apache.logging.log4j.core.filter.ThresholdFilter[] with a level of ERROR.</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Specifies the layout used for the email message body.
-
-By default, this uses the apiref:org.apache.logging.log4j.core.layout.HtmlLayout#createDefaultLayout()[default HTML layout].</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"><annotation><documentation>Specifies an SSL configuration for smtps connections.</documentation></a [...]
-
-Defaults to .</documentation></annotation></attribute><attribute name="cc" type="string"><annotation><documentation>Comma-separated list of CC email addresses.</documentation></annotation></attribute><attribute name="from" type="string"><annotation><documentation>Email address of the sender.</documentation></annotation></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="replyTo" type="string"><annotat [...]
-
-Disabled by default.</documentation></annotation></attribute><attribute name="smtpHost" type="string"><annotation><documentation>Host name of SMTP server to send messages through.</documentation></annotation></attribute><attribute name="smtpPassword" type="string"><annotation><documentation>Password to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="smtpPort" type="int"><annotation><documentation>Port number of SMTP server to send messages through. [...]
-
-Defaults to "smtp".</documentation></annotation></attribute><attribute name="smtpUsername" type="string"><annotation><documentation>Username to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="subject" type="string"><annotation><documentation>Subject template for the email messages.</documentation></annotation></attribute><attribute name="to" type="string"><annotation><documentation>Comma-separated list of recipient email addresses.</documentation>< [...]
-
-Supports both TCP and UDP.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions" minOccurs="0"></element><element name="Ssl" type=" [...]
-
-Supports both TCP and UDP.</documentation></annotation><choice><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The Syslog Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"> [...]
-
-All database appenders should inherit from this base appender.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/></choice></group>< [...]
-
-Not applicable if apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setType(Class)[] is a apiref:org.apache.logging.log4j.util.ReadOnlyStringMap[], apiref:org.apache.logging.log4j.spi.ThreadContextMap[], or apiref:org.apache.logging.log4j.spi.ThreadContextStack[].</documentation></annotation></group></sequence><attribute name="literal" type="string"><annotation><documentation>Literal value to use for populating a column.
-
-This is generally useful for functions, stored procedures, etc.
-No escaping will be done on this value.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Column name.</documentation></annotation></attribute><attribute name="parameter" type="string"><annotation><documentation>Parameter value to use for populating a column, MUST contain a single parameter marker '?'.
-
-This is generally useful for functions, stored procedures, etc.
-No escaping will be done on this value.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>Pattern to use as a apiref:org.apache.logging.log4j.core.layout.PatternLayout[].
-
-Convenient shorthand for apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setLayout(StringLayout)[] with a PatternLayout.</documentation></annotation></attribute><attribute name="source" type="string"><annotation><documentation>Source name.
-
-Useful when combined with a apiref:org.apache.logging.log4j.core.appender.db.org.apache.logging.log4j.message.MapMessage[] depending on the appender.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.jdbc.AbstractConnectionSource"><choice><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appende [...]
-
-This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
-This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><choice><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig"><annotation><documentation>A configuration ele [...]
-
-Mutually exclusive with `pattern! =null` and `eventTimestamp=true`.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the database column as it exists within the database table.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>The apiref:org.apache.logging.log4j.core.layout.PatternLayout[] pattern to insert in this column.
-
-Mutually exclusive with `literal! =null` and `eventTimestamp=true`</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource"><annotation><documentation>Configuration element for apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender[].
-
-If you want to use the apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender[] but none of the provided connection sources meet your needs, you can simply create your own connection source.</documentation></annotation><choice><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="Co [...]
-Must start with java:/comp/env or environment-equivalent.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource[] that uses a JDBC connection string, a user name, and a password to call apiref:java.sql.DriverManager#getConnection(String,String,String)[].
-
-This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
-This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><sequence><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driverClassName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="userName" type="string"></attribute></complexType>< [...]
-If this method returns a apiref:java.sql.Connection[], it should return a new connection every call.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"><annotation><documentation>This Appender writes logging events to a relational database using standard JDBC mechanisms.
-
-It takes a list of apiref:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig[]s and/or apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping[]s with which it determines how to save the event data into the appropriate columns in the table.
-ColumnMapping is new as of Log4j 2.8 and supports apiref:org.apache.logging.log4j.core.config.plugins.convert.TypeConverter[type conversion] and persistence using apiref:java.sql.PreparedStatement#setObject(int,Object)[]. A apiref:org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource[] plugin instance instructs the appender (and apiref:org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager[]) how to connect to the database.
-This appender can be reconfigured at run time.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="ColumnMapping" type="log4j:org.apache.logging.log4j.core.appender.db.ColumnMapping" minOccurs="0" maxOccurs="unbounded"></element><element name="Column" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig" minOccurs= [...]
-
-The connections are served from an Apache Commons DBCP pooling driver.</documentation></annotation><sequence><element name="PoolableConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolableConnectionFactoryConfig" minOccurs="0"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driver [...]
-
-It requires a pre-configured JPA persistence unit and a concrete implementation of the abstract apiref:org.apache.logging.log4j.core.appender.db.jpa.AbstractLogEventWrapperEntity[] class decorated with JPA annotations.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>The filter, if any, to use.</documentation></annotation></group></sequence><attribute name="bufferSize" type="string"><annotation><documen [...]
-
-This Appender replaces the previous split ones.
-However, configurations set up for the 2.0 version of the JMS appenders will still work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="destinationBindingName" type="string"></attribute>< [...]
-
-Requires the JeroMQ jar (LGPL as of 0.3.5)</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="affinity" type="long"></attribute><attribute name="backlog" type="long"></attribute><attribute na [...]
-
-It requires implementations of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlObject[], apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlConnection[], and apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] to "know" how to write events to the chosen NoSQL database.
-
-For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB and CouchDB providers.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><ele [...]
-
-The DefaultRolloverStrategy is a combination of a time-based policy and a fixed-window policy.
-When the file name pattern contains a date format then the rollover time interval will be used to calculate the time to use in the file pattern.
-When the file pattern contains an integer replacement token one of the counting techniques will be used.
-
-When the ascending attribute is set to true (the default) then the counter will be incremented and the current log file will be renamed to include the counter value.
-If the counter hits the maximum value then the oldest file, which will have the smallest counter, will be deleted, all other files will be renamed to have their counter decremented and then the current file will be renamed to have the maximum counter value.
-Note that with this counting strategy specifying a large maximum value may entirely avoid renaming files.
-
-When the ascending attribute is false, then the "normal" fixed-window strategy will be used.
-
-Let _max_ and _min_ represent the values of respectively the *MaxIndex* and *MinIndex* options.
-Let "foo.
-log" be the value of the *ActiveFile* option and "foo.
-%i.log" the value of *FileNamePattern*. Then, when rolling over, the file `foo. _max_.log` will be deleted, the file `foo. _max-1_.log` will be renamed as `foo. _max_.log`, the file `foo. _max-2_.log` renamed as `foo. _max-1_.log`, and so on, the file `foo. _min+1_.log` renamed as `foo. _min+2_.log`. Lastly, the active file `foo. log` will be renamed as `foo. _min_.log` and a new active file name `foo. log` will be created.
-
-Given that this rollover algorithm requires as many file renaming operations as the window size, large window sizes are discouraged.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="compressionLevel" type="string"></attribute><attribute name="fileIndex" type="string"></attribute><attribute name="max" type="string"></attribute><attribute name="min" t [...]
-
-Files will be renamed files according to an algorithm as described below.
-
-The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy to determine the file name based on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it during rollover, except if it is compressed, in which case it will add the appropriate file extension.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"></group></sequ [...]
-
-Such conditions include time of day, file size, an external event, the log request or a combination thereof.</documentation></annotation><choice><element name="Policies" type="log4j:org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"/><element name="CronTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"/><element name="NoOpTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy [...]
-Default is false.</documentation></annotation></attribute><attribute name="maxDepth" type="int"><annotation><documentation>The maxDepth parameter is the maximum number of levels of directories to visit.
-A value of 0 means that only the starting file is visited, unless denied by the security manager.
-A value of MAX_VALUE may be used to indicate that all levels should be visited.</documentation></annotation></attribute><attribute name="testMode" type="boolean"><annotation><documentation>if true, files are not deleted but instead a message is printed to the status logger at INFO level.
-Users can use this to do a dry run to test if their configuration works as expected.
-Default is false.</documentation></annotation></attribute></complexType><simpleType name="org.apache.logging.log4j.core.appender.rolling.action.Duration"><annotation><documentation>Simplified implementation of the ISO-8601 Durations standard.
-
-The supported format is `PnDTnHnMnS`, with 'P' and 'T' optional.
-Days are considered to be exactly 24 hours.
-
-Similarly to the `java. time. Duration` class, this class does not support year or month sections in the format.
-This implementation does not support fractions or negative values.</documentation></annotation><restriction base="string"></restriction></simpleType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"><annotation><documentation>PathCondition that accepts paths after some count threshold is exceeded during the file tree walk.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondit [...]
-
-Corresponds to logical "AND".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" maxOccurs="unbounded"><annotation><documentation>The component filters.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAny"><annotation><documentation>Composite `PathCondition` that accepts objects that are accepted by _any_ component conditions.
-
-Corresponds to logical "OR".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" maxOccurs="unbounded"><annotation><documentation>The component conditions.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfFileName"><annotation><documentation>PathCondition that accepts files for deletion if their relative path matches either a glob [...]
-
-If both a regular expression and a glob pattern are specified the glob pattern is used and the regular expression is ignored.
-
-The regular expression is a pattern as defined by the apiref:java.util.regex.Pattern[] class.
-A glob is a simplified pattern expression described in apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested conditions to evaluate if this condition accepts a path</documentation></annotation></group></sequence><attribute name="glob" type="string"><annotation><documentation>the baseDir-relat [...]
-
-Allow to define file permissions, user and group for log files on POSIX supported OS.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="basePath" type="string"></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attr [...]
-
-The specified script may be a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.core.script.ScriptFile[] or a apiref:org.apache.logging.log4j.core.script.ScriptRef[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0"><annotation><documentation>The script to run.
-This may be a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.core.script.ScriptFile[] or a apiref:org.apache.logging.log4j.core.script.ScriptRef[]. The script must return a `List&lt;PathWithAttributes&gt;`. When the script is executed, it is provided the following bindings:
-
-* basePath - the directory from where the apiref:org.apache.logging.log4j.core.appender.rolling.action.DeleteAction[Delete] action started scanning for files to delete.
-Can be used to relativize the paths in the pathList.
-* pathList - a `java. util. List` containing apiref:org.apache.logging.log4j.core.appender.rolling.action.PathWithAttributes[] objects.
-(The script is free to modify and return this list.
-)
-* substitutor - a apiref:org.apache.logging.log4j.core.appender.rolling.action.org.apache.logging.log4j.core.lookup.StrSubstitutor[] that can be used to look up variables embedded in the base dir or other properties
-* statusLogger - the apiref:org.apache.logging.log4j.status.StatusLogger[] that can be used to log events during script execution
-* any properties declared in the configuration</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"><annotation><documentation>Policy is purging appenders that were not in use specified time in minutes</documentation></annotation><attribute name="checkInterval" type="string"><annotation><documentation>when all appenders purged, the number of increments of timeUnit to check if any appenders appeared [...]
-
-Routing is achieved by specifying a pattern on the Routing appender declaration.
-The pattern should contain one or more substitution patterns of the form "$${[key:]token}". The pattern will be resolved each time the Appender is called using the built in StrSubstitutor and the StrLookup plugin that matches the specified key.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appen [...]
-
-AsyncLoggerConfig is a logger designed for high throughput and low latency logging.
-It does not perform any I/O in the calling (application) thread, but instead hands off the work to another thread as soon as possible.
-The actual logging is performed in the background thread.
-It uses LMAX Disruptor for inter-thread communication.
-
-To use AsyncLoggerConfig, specify `&lt;asyncLogger&gt;` or `&lt;asyncRoot&gt;` in configuration.
-
-Note that for performance reasons, this logger does not include source location by default.
-You need to specify `includeLocation="true"` in the configuration or any %class, %location or %line conversion patterns in your log4j.
-xml configuration will produce either a "?" character or no output at all.
-
-For best performance, use AsyncLoggerConfig with the RandomAccessFileAppender or RollingRandomAccessFileAppender, with immediateFlush=false.
-These appenders have built-in support for the batching mechanism used by the Disruptor library, and they will flush to disk at the end of each batch.
-This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.conf [...]
-The possible values are:
-
-* `out` for using standard out (default)
-* `err` for using standard error
-* a string that is interpreted in order as URI, URL or the path to a local file
-
-If the provided value is invalid, then the default destination of standard out will be used.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the configuration</documentation></annotation></attribute><attribute name="monitorInterval" type="int"><annotation><documentation>Number of seconds between polls for configuration changes</documentation></annotation></attribute><attribute name="schema" type="string"><annotation><documen [...]
-Possible values are `enable` and `disable`.
-The shutdown hook is enabled by default, unless Log4j detects the presence of the Servlet API.</documentation></annotation></attribute><attribute name="shutdownTimeout" type="int"><annotation><documentation>Timeout in milliseconds of the logger context shut down</documentation></annotation></attribute><attribute name="status" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the level of the status logger</documentation></annotation></attribute><attribute name=" [...]
-
-ConfigurationFactory allows the configuration implementation to be dynamically chosen in 1 of 3 ways:
-
-. A system property named "log4j.
-configurationFactory" can be set with the name of the ConfigurationFactory to be used.
-. apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#setConfigurationFactory(ConfigurationFactory)[] can be called with the instance of the ConfigurationFactory to be used.
-This must be called before any other calls to Log4j.
-. A ConfigurationFactory implementation can be added to the classpath and configured as a plugin in the apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#CATEGORY[ConfigurationFactory] category.
-The apiref:org.apache.logging.log4j.core.config.Order[] annotation should be used to configure the factory to be the first one inspected.
-See apiref:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory[] for an example.
-
-If the ConfigurationFactory that was added returns null on a call to getConfiguration then any other ConfigurationFactories found as plugins will be called in their respective order.
-DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="Log4j1PropertiesConfigurationFactory" type="log4j:org.apache.log4j.config.PropertiesConfigurationFactory"/><element name="Log4j1XmlConfigurationFactory" type="log4j:org.apache.log4j.xml.XmlConfigurationFactory"/><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="Properties [...]
-
-The supported formats are:
-
-* 0x0123456789ABCDEF
-* Base64:ABase64String
-* String using apiref:java.nio.charset.Charset#defaultCharset()[] [TODO Should this be UTF-8 instead?
-]</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `char[]`.</documentation></ann [...]
-
-Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into [...]
-
-Filters can be either context wide or attached to an appender.
-A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[].
-
-Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilte [...]
-
-Use this filter when you want to control the maximum burst of log statements that can be sent to an appender.
-The filter is configured in the log4j configuration file.
-For example, the following configuration limits the number of INFO level (as well as DEBUG and TRACE) log statements that can be sent to the console to a burst of 100 with an average rate of 16 per second.
-WARN, ERROR and FATAL messages would continue to be delivered.
-`&lt;Console name="console"&gt; &lt;PatternLayout pattern="%-5p %d{dd-MMM-yyyy HH:mm:ss} %x %t %m%n"/&gt; &lt;Filters&gt; &lt;BurstFilter level="INFO" rate="16" maxBurst="100"/&gt; &lt;/Filters&gt; &lt;/Console&gt;`</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the logging level to use.</documentation></annotation></attribute><attribute name="maxBurst" type="long"><annotation><documentation>Sets the maximum [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="rate" type="float"><annotation><documentation>Sets the average number of events per second to allow.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.CompositeFilter"><annotation><documentation>Composes and invokes one or more filters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0" maxOccurs="unbounded"><a [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.DynamicThresholdFilter"><annotation><documentation>Compares against a log level that is associated with a context value.
-
-By default the context is the apiref:org.apache.logging.log4j.ThreadContext[] and/or the apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.ScopedContext[], but users may add a custom apiref:org.apache.logging.log4j.core.util.ContextDataProvider[] which obtains context data from some other source.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation [...]
-
-Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoO [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.LevelRangeFilter"><annotation><documentation>This filter returns the apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] result if the level of the apiref:org.apache.logging.log4j.core.LogEvent[] is in the range of the configured apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRa [...]
-
-The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] are set to apiref:org.apache.logging.log4j.Level#OFF[] and apiref:org.apache.logging.log4j.Level#ALL[], respectively.
-The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] are set to apiref:org.apache.logging.log4j.core.filter.Result#NEUTRAL[] and apiref:org.apache.logging.log4j.core.filter.Result#DENY[], respectively.
-
-The levels get compared by their associated integral values; apiref:org.apache.logging.log4j.Level#OFF[] has an integral value of 0, apiref:org.apache.logging.log4j.Level#FATAL[] 100, apiref:org.apache.logging.log4j.Level#ERROR[] 200, and so on.
-For example, if the filter is configured with apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] set to apiref:org.apache.logging.log4j.Level#INFO[], the filter will return apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] result for apiref:org.apache.logging.log4j.core.LogEvent[]s of level with higher integral values; apiref:org.apache.logging.log4j.Level#DEBUG[], apiref:org.apache.logging.log4j.Level#TRACE[], etc.</documentation></annotation [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="pollInterval" type="long"><annotation><documentation>Set the frequency in seconds that changes to the list a ThreadContext valudes should be checked.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.NoMarkerFilter"><annotation><documentation>This filter returns the onMatch result if there is no marker in the LogEvent.</documentation></annotation><attribute name="onM [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.RegexFilter"><annotation><documentation>This filter returns the onMatch result if the message matches the regular expression.
-
-The "useRawMsg" attribute can be used to indicate whether the regular expression should be applied to the result of calling Message.
-getMessageFormat (true) or Message.
-getFormattedMessage() (false). The default is false.</documentation></annotation><sequence></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a mismatch occurs.</documentation></annotation></attribut [...]
-The script must return a boolean value.
-Either script or scriptFile must be provided.</documentation></annotation></group></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if no match occurs.</documentation></annotation></attribute></complexType><comp [...]
-
-Defaults to Result.
-NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
-
-The default is Result.
-DENY.</documentation></annotation></attribute><attribute name="text" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.StructuredDataFilter"><annotation><documentation>Filter based on data in a StructuredDataMessage.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Key and value pairs.</documentation></ [...]
-If not "or" the operation will be an "and".</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.ThreadContextMapFilter"><annotation><documentation>Filter based on a value in the Thread Context Map (MDC).</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="onMatch" type="log4j:org.apa [...]
-
-For example, if the ThresholdFilter is configured with Level ERROR and the LogEvent contains Level DEBUG then the onMismatch value will be returned since ERROR events are more specific than DEBUG.
-The default Level is ERROR.</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log Level.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><docume [...]
-
-Depends on Apache Commons CSV 1.2.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractJacksonLayout"><choice><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="XmlLayout"  [...]
-
-Since 2.4.1, this class has custom logic to convert ISO-8859-1 or US-ASCII Strings to byte[] arrays to improve performance: all characters are simply cast to bytes.</documentation></annotation><choice><element name="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element n [...]
-
-Depends on Apache Commons CSV 1.2.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.CsvPa [...]
-
-The event message is currently ignored.
-
-Best used with:
-
-`logger. debug(new ObjectArrayMessage(1, 2, "Bob"));` Depends on Apache Commons CSV 1.4.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><group  [...]
-
-This layout compresses JSON to GZIP or ZLIB (the `compressionType`) if log event data is larger than 1024 bytes (the `compressionThreshold`). This layout does not implement chunking.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"><annotation><documentation>The PatternSelector to use to format the message.</documentation></annotation></group><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.u [...]
-
-Useful for Graylog GELF TCP input.</documentation></annotation></attribute><attribute name="includeStacktrace" type="boolean"><annotation><documentation>Whether to include full stacktrace of logged Throwables (optional, default to true).
-
-If set to false, only the class name and message of the Throwable will be included.</documentation></annotation></attribute><attribute name="includeThreadContext" type="boolean"><annotation><documentation>Whether to include thread context as additional fields (optional, default to true).</documentation></annotation></attribute><attribute name="mapMessageExcludes" type="string"><annotation><documentation>A comma separated list of MapMessage keys to exclude;</documentation></annotation></a [...]
-
-Appenders using this layout should have their encoding set to UTF-8 or UTF-16, otherwise events containing non ASCII characters could result in corrupted log files.</documentation></annotation><attribute name="contentType" type="string"></attribute><attribute name="datePattern" type="string"></attribute><attribute name="fontName" type="string"></attribute><attribute name="fontSize" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout.FontSize"></attribute><attribute name="location [...]
-
-Please use JsonTemplateLayout instead.
-Appends a series of JSON events as strings serialized as bytes.
-
-== Additional Fields
-
-If you configure `complete="true"`, the appender outputs a well-formed JSON document.
-By default, with `complete="false"`, you should include the output as an _external file_ in a separate file to form a well-formed JSON document.
-
-If `complete="false"`, the appender does not write the JSON open array character "[" at the start of the document, "]" and the end, nor comma "," between records.
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non ASCII characters could result in corrupted log files.
-
-By default, the JSON layout is not compact (a.k.a. "pretty") with `compact="false"`, which means the appender uses end-of-line characters and indents lines to format the text.
-If `compact="true"`, then no end-of-line or indentation is used.
-Message content may contain, of course, escaped end-of-lines.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;JsonLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/JsonLayout&gt;` inserts `"foo":"bar"` directly into JSON output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="objectMessageAsJsonObject" type="boolean"></attribute><attribute name="p [...]
-
-Useful in combination with a JMS Appender to map a Log4j apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.message.MapMessage[] or apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.message.StringMapMessage[] to a JMS apiref:org.apache.logging.log4j.core.layout.javax.jms.MapMessage[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.layout.PatternLayout"><annotation><documentation>A flexible layout configurabl [...]
-
-The goal of this class is to apiref:org.apache.logging.log4j.core.layout.org.apache.logging.log4j.core.Layout#toByteArray[format] a apiref:org.apache.logging.log4j.core.LogEvent[] and return the results.
-The format of the result depends on the _conversion pattern_.
-
-The conversion pattern is closely related to the conversion pattern of the printf function in C. A conversion pattern is composed of literal text and format control expressions called _conversion specifiers_.
-
-See the Log4j Manual for details on the supported pattern converters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"></group><element name="Replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacement" minOccurs="0"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="footer" type="string"> [...]
-Defaults to "true:.</documentation></annotation></attribute><attribute name="mdcExcludes" type="string"><annotation><documentation>A comma separated list of MDC keys that should be excluded from the LogEvent.</documentation></annotation></attribute><attribute name="mdcId" type="string"><annotation><documentation>The id to use for the MDC Structured Data Element.</documentation></annotation></attribute><attribute name="mdcIncludes" type="string"><annotation><documentation>A comma separate [...]
-The default is false.</documentation></annotation></attribute><attribute name="newLineEscape" type="string"><annotation><documentation>String that should be used to replace newlines within the message text.</documentation></annotation></attribute><attribute name="useTlsMessageFormat" type="boolean"><annotation><documentation>If true the message will be formatted according to RFC 5425.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.l [...]
-
-The returned value will be used as the "key" to choose between one of the configured patterns.
-If no key is returned or there is no match the default pattern will be used.</documentation></annotation><sequence><element name="PatternMatch" type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0" maxOccurs="unbounded"></element><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0"></group></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="defaultPattern" type="string"></attribute><attribut [...]
-dtd.
-
-== Additional Fields
-
-If you configure `complete="true"`, the appender outputs a well-formed XML document where the default namespace is the log4j namespace . By default, with `complete="false"`, you should include the output as an _external entity_ in a separate file to form a well-formed XML document.
-
-If `complete="false"`, the appender does not write the XML processing instruction and the root element.
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non-ASCII characters could result in corrupted log files.
-
-By default, the XML layout is not compact (compact = not "pretty") with `compact="false"`, which means the appender uses end-of-line characters and indents lines to format the XML.
-If `compact="true"`, then no end-of-line or indentation is used.
-Message content may contain, of course, end-of-lines.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;XmlLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/XmlLayout&gt;` inserts `&lt;foo&gt;bar&lt;/foo&gt;` directly into XML output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsStri [...]
-
-== Additional Fields
-
-Appenders using this layout should have their `charset` set to `UTF-8` or `UTF-16`, otherwise events containing non ASCII characters could result in corrupted log files.
-
-This property allows addition of custom fields into generated JSON.
-`&lt;YamlLayout&gt;&lt;KeyValuePair key="foo" value="bar"/&gt;&lt;/YamlLayout&gt;` inserts `foo: "bar"` directly into YAML output.
-Supports Lookup expressions.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Additional fields to set on each log event.</documentation></annotation></element></sequence><attribute name="compact" type="boolean"></attribute><attribute name="complete" type="boolean"></attribute><attribute name="endOfLine" type="string"></attribute><attribute name="e [...]
-
-If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsStri [...]
-
-Handles saving the Configuration.</documentation></annotation><choice><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.lookup.AbstractLookup"><annotation><documentation>A default lookup for others to extend.</documentation></annotation><choice><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging.log4j.core [...]
-
-By default this is the apiref:org.apache.logging.log4j.ThreadContext[] or apiref:org.apache.logging.log4j.ScopedContext[]. Users may add their own apiref:org.apache.logging.log4j.core.lookup.org.apache.logging.log4j.core.util.ContextDataProvider[] which can be retrieved via this Lookup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.DateLookup"><annotation><documentation>Formats the current date or the date in the LogEvent.
-
-The "key" is used as the format String, following the java.
-text.
-SimpleDateFormat date and time pattern strings.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EnvironmentLookup"><annotation><documentation>Looks up keys from environment variables.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EventLookup"><annotation><documentation>Looks up values from the log event.</documentation></annotation></complexType><complexType name="org.apache.logging.log4 [...]
-
-The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MainMapLookup"><annotation><documentation>A map-based lookup for main arguments.
-
-See apiref:org.apache.logging.log4j.core.lookup.MainMapLookup#setMainArguments(String[])[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A map-based lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A map-based lookup.</documentation></annotation><choice><element name="jvmrunargs" type="log4j:org.apache.logging. [...]
-
-This class represents the simplest form of a string to string map.
-It has a benefit over a map in that it can create the result on demand based on the key.
-
-This class comes complete with various factory methods.
-If these do not suffice, you can subclass and implement your own matcher.
-
-For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database</documentation></annotation><choice><element name="ctx" type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element name="date" type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging [...]
-
-The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.net.Advertiser"><choice><element name="Default" type="log4j:org.apache.logging.log4j.core.config.DefaultAdvertiser"/><element name="MulticastDns" type="log4j:org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"/></choice></group><simpleType name="org.apache.logging.log4j.core.net.Facility"><annotation><documentation>The facility codes used b [...]
-
-[cols="1,1"]
-|===
-
-h| Numerical Code
-h| Facility
-
-h| Facility
-| 0
-| kernel messages
-
-| 1
-| user-level messages
-
-| 2
-| mail system
-
-| 3
-| system daemons
-
-| 4
-| security/authorization messages
-
-| 5
-| messages generated internally by syslogd
-
-| 6
-| line printer subsystem
-
-| 7
-| network news subsystem
-
-| 8
-| UUCP subsystem
-
-| 9
-| clock daemon
-
-| 10
-| security/authorization messages
-
-| 11
-| FTP daemon
-
-| 12
-| NTP subsystem
-
-| 13
-| log audit
-
-| 14
-| log alert
-
-| 15
-| clock daemon (note 2)
-
-| 16
-| local use 0 (local0)
-
-| 17
-| local use 1 (local1)
-
-| 18
-| local use 2 (local2)
-
-| 19
-| local use 3 (local3)
-
-| 20
-| local use 4 (local4)
-
-| 21
-| local use 5 (local5)
-
-| 22
-| local use 6 (local6)
-
-| 23
-| local use 7 (local7)
-
... 2049 lines suppressed ...