This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch 2.x-site-stg-out
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/2.x-site-stg-out by this push:
new d75d130704 Add website content generated from
`2c3b341b12f62a4d72c06bbbcb4293ae801e2d45`
d75d130704 is described below
commit d75d1307044765bb1f32bbac1eee0c7f40ea987e
Author: ASF Logging Services RM <[email protected]>
AuthorDate: Tue Apr 30 18:57:08 2024 +0000
Add website content generated from
`2c3b341b12f62a4d72c06bbbcb4293ae801e2d45`
---
articles.html | 3 +
index.html => development.html | 226 ++++++----
download.html | 3 +
faq.html | 3 +
guidelines.html | 791 ----------------------------------
index.html | 3 +
javadoc.html | 3 +
log4j-1.2-api.html | 3 +
log4j-api.html | 3 +
log4j-appserver.html | 3 +
log4j-cassandra.html | 3 +
log4j-couchdb.html | 3 +
log4j-docker.html | 3 +
log4j-flume-ng.html | 3 +
log4j-iostreams.html | 3 +
log4j-jakarta-web.html | 3 +
log4j-jcl.html | 3 +
log4j-jmx-gui.html | 3 +
log4j-jpl.html | 3 +
log4j-jul.html | 3 +
log4j-mongodb3.html | 3 +
log4j-mongodb4.html | 3 +
log4j-slf4j-impl.html | 3 +
log4j-slf4j2-impl.html | 3 +
log4j-spring-boot.html | 3 +
log4j-spring-cloud-config-client.html | 3 +
log4j-spring-cloud-config.html | 3 +
log4j-taglib.html | 3 +
log4j-to-jul.html | 3 +
log4j-to-slf4j.html | 3 +
log4j-web.html | 3 +
manual/api-separation.html | 3 +
manual/api.html | 3 +
manual/appenders.html | 3 +
manual/architecture.html | 3 +
manual/async.html | 3 +
manual/cloud.html | 3 +
manual/compatibility.html | 3 +
manual/configuration.html | 3 +
manual/customconfig.html | 3 +
manual/customloglevels.html | 3 +
manual/eventlogging.html | 3 +
manual/extending.html | 3 +
manual/filters.html | 3 +
manual/flowtracing.html | 3 +
manual/garbagefree.html | 3 +
manual/index.html | 3 +
manual/installation.html | 3 +
manual/jmx.html | 3 +
manual/json-template-layout.html | 3 +
manual/layouts.html | 3 +
manual/logbuilder.html | 3 +
manual/logsep.html | 3 +
manual/lookups.html | 3 +
manual/markers.html | 3 +
manual/messages.html | 3 +
manual/migration.html | 3 +
manual/performance.html | 3 +
manual/plugins.html | 3 +
manual/resource-logger.html | 3 +
manual/scoped-context.html | 3 +
manual/thread-context.html | 3 +
manual/usage.html | 3 +
manual/webapp.html | 3 +
plugin-reference.html | 5 +-
release-notes.html | 3 +
runtime-dependencies.html | 3 +
sitemap.xml | 140 +++---
thanks.html | 3 +
69 files changed, 411 insertions(+), 946 deletions(-)
diff --git a/articles.html b/articles.html
index 48a3ae30e8..5695d8254f 100644
--- a/articles.html
+++ b/articles.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/index.html b/development.html
similarity index 66%
copy from index.html
copy to development.html
index 5cb7035330..2d85d46d85 100644
--- a/index.html
+++ b/development.html
@@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Apache Log4j :: Apache Log4j</title>
- <link rel="canonical"
href="https://logging.apache.org/log4j/2.x/index.html">
+ <title>Development :: Apache Log4j</title>
+ <link rel="canonical"
href="https://logging.apache.org/log4j/2.x/development.html">
<meta name="generator" content="Antora 3.2.0-alpha.4">
<link rel="stylesheet" href="./_/css/site.css">
<link rel="icon" href="./_/../_images/favicon.ico" type="image/x-icon">
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item is-current-page" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
@@ -273,148 +276,203 @@
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
- <a href="index.html" class="home-link is-current"></a>
+ <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">Apache Log4j</a></li>
+ <li>Learn</li>
+ <li><a href="development.html">Development</a></li>
</ul>
</nav>
-<div class="edit-this-page"><a
href="https://github.com/apache/logging-log4j2/edit/2.x/src/site/antora/modules/ROOT/pages/index.adoc">Edit
this Page</a></div>
+<div class="edit-this-page"><a
href="https://github.com/apache/logging-log4j2/edit/2.x/src/site/antora/modules/ROOT/pages/development.adoc">Edit
this Page</a></div>
</div>
<div class="content">
<aside class="toc sidebar" data-title="Contents" data-levels="4">
<div class="toc-menu"></div>
</aside>
<article class="doc">
-<h1 class="page">Apache Log4j</h1>
+<h1 class="page">Development</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
-<p>Apache Log4j is a versatile, industrial-grade Java logging framework
composed of an API, its implementation, and components to assist the
deployment for various use cases.
-Log4j is <a
href="https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html">used
by 8% of the Maven ecosystem</a> and listed as one of <a
href="https://docs.google.com/spreadsheets/d/1ONZ4qeMq8xmeCHX03lIgIYE4MEXVfVL6oj05lbuXTDM/edit#gid=1024997528">the
top 100 critical open source software projects</a>.
-The project is actively maintained by a <a
href="https://logging.apache.org/team-list.html">team</a> of several volunteers
and <a href="https://logging.apache.org/support">support</a>ed by a big
community.</p>
-</div>
+<p>This page shares information related to the development of Log4j.
+Content is aimed for users who want to contribute source code patches and
maintainers.</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>Do you need help for setting up or configuring Log4j?
+Please refer to <a href="https://logging.apache.org/support.html">the Support
page</a> instead.</p>
</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="manual/installation.html" class="xref page">How can I add Log4j
artifacts to my Maven/Ivy/Gradle project?</a></p>
-</li>
-<li>
-<p><a href="manual/usage.html" class="xref page">How can I use the Log4j
API?</a></p>
-</li>
-<li>
-<p><a href="manual/configuration.html" class="xref page">How can I configure
my <code>log4j2.xml</code>?</a></p>
-</li>
-<li>
-<p><a href="release-notes.html" class="xref page">Where are the release
notes?</a></p>
-</li>
-<li>
-<p><a href="https://logging.apache.org/support"><strong>I need
help!</strong></a></p>
-</li>
-</ul>
+</td>
+</tr>
+</table>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="features"><a class="anchor" href="#features"></a>Features</h2>
+<h2 id="github"><a class="anchor" href="#github"></a>GitHub setup</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>We share below some highlights from Log4j features.</p>
+<p>Log4j uses GitHub extensively:</p>
</div>
<div class="dlist">
<dl>
-<dt class="hdlist1">Batteries included</dt>
+<dt class="hdlist1">Source code repository</dt>
<dd>
-<p>Log4j bundles a rich set of components to assist various use cases.</p>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="manual/appenders.html" class="xref page">Appenders</a> targeting
files, network sockets, databases, SMTP servers, etc.</p>
-</li>
-<li>
-<p><a href="manual/layouts.html" class="xref page">Layouts</a> that can render
CSV, HTML, JSON, Syslog, etc. formatted outputs</p>
-</li>
-<li>
-<p><a href="manual/filters.html" class="xref page">Filters</a> that can be
configured using log event rates, regular expressions, scripts, time, etc.</p>
-</li>
-<li>
-<p><a href="manual/lookups.html" class="xref page">Lookups</a> for accessing
system properties, environment variables, log event fields, etc.</p>
-</li>
-</ul>
+<p><a href="https://github.com/apache/logging-log4j2"
class="bare">https://github.com/apache/logging-log4j2</a></p>
+</dd>
+<dt class="hdlist1">Issue tracker</dt>
+<dd>
+<p><a href="https://github.com/apache/logging-log4j2/issues"
class="bare">https://github.com/apache/logging-log4j2/issues</a></p>
+</dd>
+<dt class="hdlist1">Discussions</dt>
+<dd>
+<p><a href="https://github.com/apache/logging-log4j2/discussions"
class="bare">https://github.com/apache/logging-log4j2/discussions</a></p>
+<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>Maintainer discussions mostly take place in mailing lists.
+Please refer to <a href="https://logging.apache.org/support.html">the Support
page</a> for the complete list of communication channels.</p>
+</div>
+</td>
+</tr>
+</table>
</div>
</dd>
-<dt class="hdlist1">API separation</dt>
+</dl>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="branching"><a class="anchor" href="#branching"></a>Branching
scheme</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The following branching scheme is followed:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>2.x</code></dt>
<dd>
-<p>The API for Log4j (i.e., <code>log4j-api</code>) is separate from the
implementation (i.e., <code>log4j-core</code>) making it clear for application
developers which classes and methods they can use while ensuring forward
compatibility.
-(See <a href="manual/api-separation.html" class="xref page">API Separation</a>
for details.)
-The Log4j API also provides the most feature rich logging facade in the
market; support for various <code>Message</code> types (<code>Object</code>,
<code>Map</code>, etc.) besides plain <code>String</code>, lambda expressions,
parametrized logging, markers, levels, diagnostic contexts (aka. MDC/NDC), etc.
-Check out the <a href="manual/api.html" class="xref page">Java API</a>, <a
href="https://logging.apache.org/log4j/kotlin">Kotlin API</a>, and <a
href="https://logging.apache.org/log4j/scala">Scala API</a> pages for further
information.</p>
+<p>The most recent Log4j 2 code</p>
</dd>
-<dt class="hdlist1">No vendor lock-in</dt>
+<dt class="hdlist1"><code>main</code></dt>
<dd>
-<p>Even though the Log4j API is implemented by the Log4j at its fullest, users
can choose to use another logging backend.
-This can be achieved by either using another backend implementing the Log4j
API, or forwarding Log4j API calls to another logging facade (e.g., SLF4J) and
using a backend for that particular facade.</p>
+<p>The most recent Log4j 3 code</p>
</dd>
-<dt class="hdlist1">Performance</dt>
+<dt
class="hdlist1"><code><sourceBranch>-site-<environment></code></dt>
+<dt
class="hdlist1"><code><sourceBranch>-site-<environment>-out</code></dt>
<dd>
-<p>When configured correctly, Log4j can deliver excelling performance without
almost any burden on the Java garbage collector.
-This is made possible via an asynchronous logger founded on the <a
href="https://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a> technology
(having its roots in the demanding industry of financial trading) and the
garbage-free features baked at hot paths.
-Check out the <a href="manual/performance.html" class="xref
page">Performance</a> page for details.</p>
+<p>Branches used to serve the staging and production websites.
+<code>out</code>-suffixed ones are automatically populated by CI, you are not
supposed to touch them.
+See <a href="https://logging.apache.org/logging-parent/usage.html#website">the
Logging Parent website</a> for details.</p>
</dd>
-<dt class="hdlist1">Extensibility</dt>
+<dt class="hdlist1"><code>release/<version></code></dt>
<dd>
-<p>Log4j contains a fully-fledged <a href="manual/plugins.html" class="xref
page">plugin support</a> that users can leverage to extend its functionality.
-You can easily add your own components (layouts, appenders, filters, etc.) or
customizing existing ones (e.g., adding new directives to the <a
href="manual/layouts.html#PatternLayout" class="xref page">Pattern</a> or <a
href="manual/json-template-layout.html#extending" class="xref page">JSON
Template Layout</a>).
-Check out the <a href="manual/extending.html" class="xref page">Extending
Log4j</a> page.</p>
+<p>Branch triggering the CI logic to start <a
href="https://logging.apache.org/logging-parent/release-instructions-project.html">the
release process</a></p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="requirements"><a class="anchor"
href="#requirements"></a>Requirements</h2>
+<h2 id="building"><a class="anchor" href="#building"></a>How can I build Log4j
from sources?</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>Log4j 2 runtime requires a minimum of Java 8.
-Older versions of Java are supported by previous releases.</p>
+<p>See <a
href="https://github.com/apache/logging-log4j2/tree/2.x/BUILDING.adoc">the
build instructions</a>.</p>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="older-releases"><a class="anchor" href="#older-releases"></a>Older
releases</h2>
+<h2 id="contributor"><a class="anchor" href="#contributor"></a>I am
<strong>not</strong> a committer. How shall I submit a patch?</h2>
<div class="sectionbody">
-<div class="paragraph">
-<p>Are you looking for old versions of Log4j?
-While we recommend to always use the latest version, you can find the older
versions here:</p>
-</div>
-<div class="ulist">
-<ul>
+<div class="olist arabic">
+<ol class="arabic">
<li>
-<p><a href="https://logging.apache.org/1.x/">Log4j 1.x (End of Life, Java
1.4)</a></p>
+<p>Is this a <em>trivial fix</em> such as code or documentation typo?
+Simply submit a pull request.
+Changelog entry is not needed and make sure <code>./mvnw verify site</code>
succeeds.</p>
</li>
<li>
-<p><a href="https://logging.apache.org/2.3.x/">Log4j 2.3.x (Java 6)</a></p>
+<p>Is this a <em>non-trivial fix</em> or a <em>new feature</em>?
+Pitch it in a <a
href="https://logging.apache.org/support.html#discussions-maintainer">maintainer
discussion channel</a> and ask for assistance.</p>
</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="committer"><a class="anchor" href="#committer"></a>I am a committer.
How shall I push my changes?</h2>
+<div class="sectionbody">
+<div class="olist arabic">
+<ol class="arabic">
<li>
-<p><a href="https://logging.apache.org/2.12.x/">Log4j 2.12.x (Java 7)</a></p>
+<p>Is it something trivial?
+Go ahead and push it.</p>
</li>
-</ul>
+<li>
+<p>Otherwise, submit a pull request.
+Make sure a changelog entry is attached and <code>./mvnw verify site</code>
succeeds.</p>
+<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>You are strongly advised to spar with another maintainer first (see <a
href="https://logging.apache.org/support.html#discussions-maintainer">maintainer
discussion channels</a>) before starting to code.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</li>
+</ol>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="compat"><a class="anchor" href="#compat"></a>Compatibility</h2>
+<h2 id="release-project"><a class="anchor" href="#release-project"></a>I am a
PMC member. How do I make a new release?</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>The <code>log4j-1.2-api</code> module provides compatibility for
applications using the Log4j 1 logging methods.
-Log4j 2 also provides support for Log4j 1 configuration files.
-See <a href="manual/migration.html#ConfigurationCompatibility" class="xref
page">Log4j 2 compatibility with Log4j 1</a> for more information.</p>
+<p>All Maven-based Logging Services projects are parented by <a
href="https://logging.apache.org/logging-parent">Logging Parent</a>, which
streamlines several project-wide processes, including making a new release.
+See <a
href="https://logging.apache.org/logging-parent/release-instructions-project.html">its
release instructions for projects</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="release-xml-schema"><a class="anchor" href="#release-xml-schema"></a>I
am a PMC member. How do I publish a new XML schema?</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>All Maven-based Logging Services projects are parented by <a
href="https://logging.apache.org/logging-parent">Logging Parent</a>, which
streamlines several project-wide processes, including publishing XML schemas.
+See <a
href="https://logging.apache.org/logging-parent/release-instructions-xml-schema.html">its
release instructions for XML schemas</a>.</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><strong>Projects and XML schemas have different lifecycles!</strong>
+A new release of a project does not necessarily mean a new release of its XML
schemas.
+XML schemas might have been untouched, or they might contain minor changes
while the project itself contains breaking changes, etc.</p>
+</div>
+</td>
+</tr>
+</table>
</div>
</div>
</div>
diff --git a/download.html b/download.html
index 2114cb90ca..9c0378c847 100644
--- a/download.html
+++ b/download.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/faq.html b/faq.html
index a323bb07c0..01c5364290 100644
--- a/faq.html
+++ b/faq.html
@@ -196,6 +196,9 @@
<li class="nav-item is-current-page" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/guidelines.html b/guidelines.html
deleted file mode 100644
index dd9f3cb6f9..0000000000
--- a/guidelines.html
+++ /dev/null
@@ -1,791 +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 Project Guidelines :: Apache Log4j</title>
- <link rel="canonical"
href="https://logging.apache.org/log4j/2.x/guidelines.html">
- <meta name="generator" content="Antora 3.2.0-alpha.4">
-<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>
- /* Default `h4` and `h5` 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; }
- /* 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">
- <div class="navbar-item">
- <img src="./_/../_images/logo-small-white.png" alt="Apache Log4j"/>
- </div>
- </div>
- <div id="topbar-nav" class="navbar-menu">
- <div class="navbar-end">
- <a class="navbar-item" href="https://logging.apache.org">a subproject
of <strong>Apache Logging Services</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>
- <a class="nav-link" href="download.html">Download</a>
-<ul class="nav-list">
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="runtime-dependencies.html">Runtime
Dependencies</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="release-notes.html">Release Notes</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="1">
- <button class="nav-item-toggle"></button>
- <a class="nav-link" href="https://logging.apache.org/support">Support</a>
-<ul class="nav-list">
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="https://logging.apache.org/security">Security</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="thanks.html">Thanks</a>
- </li>
-</ul>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="0">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Learn</span>
-<ul class="nav-list">
- <li class="nav-item" data-depth="1">
- <button class="nav-item-toggle"></button>
- <a class="nav-link" href="manual/index.html">Manual</a>
-<ul class="nav-list">
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/installation.html">Installation</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/architecture.html">Architecture</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/migration.html">Migrating from Log4j 1.x
to 2.x</a>
- </li>
- <li class="nav-item" data-depth="2">
- <button class="nav-item-toggle"></button>
- <a class="nav-link" href="manual/api.html">Log4j API</a>
-<ul class="nav-list">
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/logbuilder.html">Log Builder</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/flowtracing.html">Flow Tracing</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/markers.html">Markers</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/eventlogging.html">Event Logging</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/messages.html">Messages</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/thread-context.html">Thread Context</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/scoped-context.html">Scoped Context</a>
- </li>
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/resource-logger.html">Resource Logging</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/configuration.html">Configuration</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/usage.html">Usage</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/cloud.html">Using Log4j in Cloud Enabled
Applications</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/lookups.html">Lookups</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/appenders.html">Appenders</a>
- </li>
- <li class="nav-item" data-depth="2">
- <button class="nav-item-toggle"></button>
- <a class="nav-link" href="manual/layouts.html">Layouts</a>
-<ul class="nav-list">
- <li class="nav-item" data-depth="3">
- <a class="nav-link" href="manual/json-template-layout.html">JSON Template
Layout</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/filters.html">Filters</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/async.html">Lock-free Asynchronous
Loggers for Low-Latency Logging</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/garbagefree.html">Garbage-free Steady
State Logging</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/extending.html">Extending Log4j</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/plugins.html">Plugins</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/customconfig.html">Programmatic
Configuration</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/customloglevels.html">Custom Log
Levels</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/jmx.html">JMX</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/logsep.html">Logging Separation</a>
- </li>
- <li class="nav-item" data-depth="2">
- <a class="nav-link" href="manual/performance.html">Performance</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="plugin-reference.html">Plugin reference</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="javadoc.html">Java API reference</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="articles.html">Articles</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="faq.html">F.A.Q.</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="0">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Components</span>
-<ul class="nav-list">
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-api.html">Log4j API</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-1.2-api.html">Log4j 1.2 Bridge</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-slf4j-impl.html">Log4j SLF4J Binding</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-jul.html">Log4j JDK Logging Adapter</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-jpl.html">Log4j JDK Platform Logging
Adapter</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-to-slf4j.html">Log4j to SLF4J Adapter</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-flume-ng.html">Flume Appender</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-mongodb3.html">MongoDB 3 appender</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-mongodb4.html">MongoDB 4 appender</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-iostreams.html">Log4j IOStreams</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-docker.html">Log4j Docker Support</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="log4j-spring-cloud-config-client.html">Log4j
Spring Cloud Configuration</a>
- </li>
-</ul>
- </li>
- <li class="nav-item" data-depth="0">
- <button class="nav-item-toggle"></button>
- <span class="nav-text">Related projects</span>
-<ul class="nav-list">
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/jakarta">Log4j Jakarta EE</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/jmx-gui">Log4j JMX GUI</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/kotlin">Log4j Kotlin</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/scala">Log4j Scala</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/tools">Log4j Tools</a>
- </li>
- <li class="nav-item" data-depth="1">
- <a class="nav-link" href="/log4j/transform">Log4j Transformation Tools</a>
- </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="guidelines.html">Apache Log4j Project Guidelines</a></li>
- </ul>
-</nav>
-<div class="edit-this-page"><a
href="https://github.com/apache/logging-log4j2/edit/2.x/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="4">
- <div class="toc-menu"></div>
-</aside>
-<article class="doc">
-<h1 class="page">Apache Log4j Project Guidelines</h1>
-<div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>This document defines the guidelines for the
-<a href="https://logging.apache.org/log4j/2.x">Apache Log4j Project</a>. It
includes
-definitions of how conflict is resolved by voting, who is able to vote,
-the procedures to follow for proposing and making changes as well as
-guidelines for changing code.</p>
-</div>
-<div class="paragraph">
-<p>The objective here is to avoid unnecessary conflict over changes and
-continue to produce a quality system in a timely manner. Not all
-conflict can be avoided, but at least we can agree on the procedures for
-conflict to be resolved.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="people-places-and-things"><a class="anchor"
href="#people-places-and-things"></a>People, Places, and Things</h2>
-<div class="sectionbody">
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Apache Logging Project Management Committee</dt>
-<dd>
-<p>The group of volunteers who are responsible for managing the Apache
-Logging Projects, including Log4j. This includes deciding what is
-distributed as products of the Apache Logging Project, maintaining the
-Project’s shared resources, speaking on behalf of the Project,
-resolving license disputes regarding Apache products, nominating new
-PMC members or committers, and establishing these guidelines.</p>
-<div class="paragraph">
-<p>Membership in the Apache Logging PMC is by invitation only and must be
-approved by consensus of the active Logging PMC members. A PMC member is
-considered inactive by their own declaration or by not contributing in
-any form to the project for over six months. An inactive member can
-become active again by reversing whichever condition made them inactive
-( <em>i.e.</em> , by reversing their earlier declaration or by once again
-contributing toward the project’s work). Membership can be revoked by a
-unanimous vote of all the active PMC members other than the member in
-question.</p>
-</div>
-</dd>
-<dt class="hdlist1">Apache Logging Committers</dt>
-<dd>
-<p>The group of volunteers who are responsible for the technical aspects
-of the Apache Logging Projects. This group has write access to the
-appropriate source repositories and these volunteers may cast binding
-votes on any technical discussion. Although a committer usually joins
-due to their activity on one of the Logging projects, they will have
-commit access to all Logging projects.</p>
-<div class="paragraph">
-<p>Membership as a Committer is by invitation only and must be approved by
-consensus of the active Logging PMC members. A Committer is considered
-inactive by their own declaration or by not contributing in any form to
-the project for over six months. An inactive member can become active
-again by reversing whichever condition made them inactive ( <em>i.e.</em> , by
-reversing their earlier declaration or by once again contributing toward
-the project’s work). Membership can be revoked by a unanimous vote of
-all the active PMC members (except the member in question if they are a
-PMC member).</p>
-</div>
-</dd>
-<dt class="hdlist1">Log4j Developers</dt>
-<dd>
-<p>All of the volunteers who are contributing time, code, documentation,
-or resources to the Log4j Project. A developer that makes sustained,
-welcome contributions to the project for over six months is usually
-invited to become a Committer, though the exact timing of such
-invitations depends on many factors.</p>
-</dd>
-<dt class="hdlist1">mailing list</dt>
-<dd>
-<p>The Log4j developers' primary mailing list for discussion of issues
-and changes related to the project ( <em>[email protected]</em> ).
-Subscription to the list is open, but only subscribers can post
-directly to the list.</p>
-</dd>
-<dt class="hdlist1">private list</dt>
-<dd>
-<p>The Logging PMC’s private mailing list for discussion of issues that
-are inappropriate for public discussion, such as legal, personal, or
-security issues prior to a published fix. Subscription to the list is
-only open (actually: mandatory) to Apache Logging’s Project Management
-Committee.</p>
-</dd>
-<dt class="hdlist1">Git</dt>
-<dd>
-<p>All of the Apache products are maintained in information repositories
-using either Subversion or Git; Log4j uses Git.
-Only some of the Apache developers have write access to the Apache Logging
repositories; everyone has read access.</p>
-</dd>
-</dl>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="issues"><a class="anchor" href="#issues"></a>Issue Management</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Log4j project uses <a
href="https://github.com/apache/logging-log4j2/issues">GitHub Issues</a> for
its issue tracking system.</p>
-</div>
-<div class="paragraph">
-<p>Many issues will be encountered by the project, each resulting in zero
-or more proposed action items. Issues should be raised on the mailing
-list as soon as they are identified. Action items <strong>must</strong> be
raised on
-the mailing list and added to the issue tracker using the appropriate issue
type. All
-action items may be voted on, but not all of them will require a formal
-vote.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="voting"><a class="anchor" href="#voting"></a>Voting</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Any of the Log4j Developers may vote on any issue or action item.
-However, the only binding votes are those cast by active members of the
-Apache Logging PMC; if the vote is about a change to source code or
-documentation, the primary author of what is being changed may also cast
-a binding vote on that issue. All other votes are non-binding. All
-developers are encouraged to participate in decisions, but the decision
-itself is made by those who have been long-time contributors to the
-project. In other words, the Apache Log4j Project is a minimum-threshold
-meritocracy.</p>
-</div>
-<div class="paragraph">
-<p>The act of voting carries certain obligations — voting
members are not
-only stating their opinion, they are agreeing to help do the work of the
-Log4j Project. Since we are all volunteers, members often become
-inactive for periods of time in order to take care of their "real jobs"
-or devote more time to other projects. It is therefore unlikely that the
-entire group membership will vote on every issue. To account for this,
-all voting decisions are based on a minimum quorum.</p>
-</div>
-<div class="paragraph">
-<p>Each vote can be made in one of three flavors:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">+1</dt>
-<dd>
-<p>Yes, agree, or the action should be performed. On some issues, this
-vote is only binding if the voter has tested the action on their own
-system(s).</p>
-</dd>
-<dt class="hdlist1">±0</dt>
-<dd>
-<p>Abstain, no opinion, or I am happy to let the other group members
-decide this issue. An abstention may have detrimental effects if too
-many people abstain.</p>
-</dd>
-<dt class="hdlist1">-1</dt>
-<dd>
-<p>No. On issues where consensus is required, this vote counts as a
-<strong>veto</strong>. All vetoes must include an explanation of why the veto
is
-appropriate. A veto with no explanation is void. No veto can be
-overruled. If you disagree with the veto, you should lobby the person
-who cast the veto. Voters intending to veto an action item should make
-their opinions known to the group immediately, so that the problem can
-be remedied as early as possible.</p>
-</dd>
-</dl>
-</div>
-<div class="paragraph">
-<p>An action item requiring <em>consensus approval</em> must receive at least
<strong>3
-binding +1</strong> votes and <strong>no vetoes</strong>. An action item
requiring <em>majority
-approval</em> must receive at least <strong>3 binding +1</strong> votes and
more <strong>+1</strong> votes
-than <strong>-1</strong> votes ( <em>i.e.</em> , a majority with a minimum
quorum of three
-positive votes). All other action items are considered to have <em>lazy
-approval</em> until someone votes <strong>-1</strong> , after which point they
are decided
-by either consensus or a majority vote, depending upon the type of
-action item.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="types-of-action-items"><a class="anchor"
href="#types-of-action-items"></a>Types of Action Items</h2>
-<div class="sectionbody">
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Long Term Plans</dt>
-<dd>
-<p>Long term plans are simply announcements that group members are
-working on particular issues related to the Log4j software. These are
-not voted on, but group members who do not agree with a particular
-plan, or think an alternate plan would be better, are obligated to
-inform the group of their feelings. In general, it is always better to
-hear about alternate plans <strong>prior</strong> to spending time on less
adequate
-solutions.</p>
-</dd>
-<dt class="hdlist1">Short Term Plans</dt>
-<dd>
-<p>Short term plans are announcements that a developer is working on a
-particular set of documentation or code files, with the implication
-that other developers should avoid them or try to coordinate their
-changes. This is a good way to proactively avoid conflict and possible
-duplication of work.</p>
-</dd>
-<dt class="hdlist1">Release Plan</dt>
-<dd>
-<p>A release plan is used to keep all the developers aware of when a
-release is desired, who will be the release manager, when the
-repository will be frozen in order to create the release, and assorted
-other trivia to keep us from tripping over ourselves during the final
-moments. Lazy majority (at least 3 x +1 and more +1 than -1) decides
-each issue in the release plan.</p>
-</dd>
-<dt class="hdlist1">Release Testing</dt>
-<dd>
-<p>After a new release is built it must be tested before being released
-to the public. Majority approval is required before the distribution
-can be publicly released.</p>
-</dd>
-<dt class="hdlist1">Showstoppers/Blockers</dt>
-<dd>
-<p>Showstoppers are issues that require a fix be in place before the next
-public release. They are listed in the issue tracking system in order to focus
special
-attention on the problem. An issue becomes a showstopper when it is
-listed as such in the issue tracking system and remains so by lazy
consensus.</p>
-</dd>
-</dl>
-</div>
-<div class="paragraph">
-<p>All product changes to the currently active repository are subject to
-lazy consensus. All product changes to a prior-branch (old version)
-repository require consensus before the change is committed.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="when-to-commit-a-change"><a class="anchor"
href="#when-to-commit-a-change"></a>When to Commit a Change</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Ideas must be review-then-commit; patches can be commit-then-review.
-With a commit-then-review process, we trust that the developer doing the
-commit has a high degree of confidence in the change. Doubtful changes,
-new features, and large-scale overhauls need to be discussed before
-being committed to a repository. Any change that affects the semantics
-of arguments to configurable directives, significantly adds to the
-runtime size of the program, or changes the semantics of an existing API
-function must receive consensus approval on the mailing list before
-being committed.</p>
-</div>
-<div class="paragraph">
-<p>Each developer is responsible for notifying the mailing list and adding
-an action item to the issue tracking system when they have an idea for a new
feature or major
-change to propose for the product. The distributed nature of the Log4j
-project requires an advance notice of 48 hours in order to properly
-review a major change — consensus approval of either the
concept or a
-specific patch is required before the change can be committed. Note that
-a member might veto the concept (with an adequate explanation), but
-later rescind that veto if a specific patch satisfies their objections.
-No advance notice is required to commit singular bug fixes.</p>
-</div>
-<div class="paragraph">
-<p>Related changes should be committed as a group, or very closely
-together. Half-completed projects should not be committed unless doing
-so is necessary to pass the baton to another developer who has agreed to
-complete the project in short order. All code changes must be
-successfully compiled and unit tests pass on the developer’s platform
-before being committed.</p>
-</div>
-<div class="paragraph">
-<p>The current source code tree should be capable of complete compilation
-at all times. However, it is sometimes impossible for a developer on one
-platform to avoid breaking some other platform when a change is
-committed, particularly when completing the change requires access to a
-special development tool on that other platform. If it is anticipated
-that a given change will break some other platform, the committer must
-indicate that in the commit log.</p>
-</div>
-<div class="paragraph">
-<p>The committer is responsible for the quality of any third-party code or
-documentation they commit to the repository. All software committed to
-the repository must be covered by the Apache LICENSE or contain a
-copyright and license that allows redistribution under the same
-conditions as the Apache LICENSE.</p>
-</div>
-<div class="paragraph">
-<p>A committed change must be reversed if it is vetoed by one of the voting
-members and the veto conditions cannot be immediately satisfied by the
-equivalent of a "bug fix" commit. The veto must be rescinded before the
-change can be included in any public release.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="changelogs"><a class="anchor" href="#changelogs"></a>Changelog and Git
logs</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Many code changes should be noted in a
<code>src/changelog/.<releaseMajorVersion>.x.x/<issueId>_<shortSummary>.xml</code>
file, and all
-should be documented in Git commit messages. Often the text of the Git
-log and the changelog entry are the same, but the distinct
-requirements sometimes result in different information.</p>
-</div>
-<div class="sect2">
-<h3 id="subversion-log"><a class="anchor" href="#subversion-log"></a>Git
log</h3>
-<div class="paragraph">
-<p>The Git commit log message contains any information needed by</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>fellow developers or other people researching source code
-changes/fixes</p>
-</li>
-<li>
-<p>end users (at least point out what the implications are for end users;
-it doesn’t have to be in the most user friendly wording)</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>If the code change was provided by a non-committer, attribute it using
-Submitted-by. If the change was committed verbatim, identify the
-committer(s) who reviewed it with Reviewed-by. If the change was
-committed with modifications, use the appropriate wording to document
-that, perhaps "committed with changes" if the person making the commit
-made the changes, or "committed with contributions from xxxx" if others
-made contributions to the code committed.</p>
-</div>
-<div class="paragraph">
-<p>Example log message:</p>
-</div>
-<div class="literalblock">
-<div class="content">
-<pre>LOG4J2-9999
-Check the return code from parsing the content length, to avoid a
-crash if requests contain an invalid content length.
-Submitted by: Jane Doe <janedoe example.com>
-Reviewed by: susiecommitter</pre>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="changes"><a class="anchor" href="#changes"></a>Changelog</h3>
-<div class="paragraph">
-<p>Changelog is a subset of the information that end users need to see
-when they upgrade from one release to the next:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>what can I now do that I couldn’t do before</p>
-</li>
-<li>
-<p>what problems that we anticipate a user could have suffered from are
-now fixed</p>
-</li>
-<li>
-<p>all security fixes included, with CVE number. (If not available at the
-time of the commit, add later.)</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>All entries in changelog should include the appropriate issue
-ID and should credit contributions made by non-committers by
-referencing them in the due-to attribute even if modifications needed to
-be made to the contribution.</p>
-</div>
-<div class="paragraph">
-<p>The attribution for the change is anyone responsible for the code
-changes.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="committing-security-fixes"><a class="anchor"
href="#committing-security-fixes"></a>Committing Security Fixes</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Open source projects, ASF or otherwise, have varying procedures for
-commits of vulnerability fixes. One important aspect of these procedures
-is whether or not fixes to vulnerabilities can be committed to a
-repository with commit logs and possibly CHANGES entries which
-purposefully obscure the vulnerability and omit any available
-vulnerability tracking information. The Apache HTTP Server project has
-decided that it is in the best interest of our users that the initial
-commit of such code changes to any branch will provide the best
-description available at that time as well as any available tracking
-information such as CVE number. Committing of the fix will be delayed
-until the project determines that all of the information about the issue
-can be shared.</p>
-</div>
-<div class="paragraph">
-<p>In some cases there are very real benefits to sharing code early even if
-full information about the issue cannot, including the potential for
-broader review, testing, and distribution of the fix. This is outweighed
-by the concern that sharing only the code changes allows skilled
-analysts to determine the impact and exploit mechanisms but does not
-allow the general user community to determine if preventative measures
-should be taken.</p>
-</div>
-<div class="paragraph">
-<p>If a vulnerability is partially disclosed by committing a fix before the
-bug is determined to be exploitable, the httpd security team will decide
-on a case by case basis when to document the security implications and
-tracking number.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="patch"><a class="anchor" href="#patch"></a>Patch Format</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>When a specific change to the software is proposed for discussion or
-voting on the mailing list, it should be presented in the form of input
-to the patch command. When sent to the mailing list, the message should
-contain a Subject beginning with <code>[PATCH]</code> and a distinctive
one-line
-summary corresponding to the action item for that patch. Afterwords, the
-patch summary in the STATUS file should be updated to point to the
-Message-ID of that message.</p>
-</div>
-<div class="paragraph">
-<p>The patch should be created by using the diff -u command from the
-original software file(s) to the modified software file(s). E.g.,
-<code>diff -u http_main.c.orig http_main.c >> patchfile.txt</code> or
-<code>svn diff http_main.c >> patchfile.txt</code> All patches necessary
to address
-an action item should be concatenated within a single patch message. If
-later modification of the patch proves necessary, the entire new patch
-should be posted and not just the difference between two patches. The
-STATUS file entry should then be updated to point to the new patch
-message.</p>
-</div>
-<div class="paragraph">
-<p>The completed patchfile should produce no errors or prompts when the
-command, <code>patch -s < patchfile</code> is issued in the target
repository.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="teamwork"><a class="anchor" href="#teamwork"></a>Teamwork</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Open source projects function best when everyone is aware of the "rules
-of the road" and abide by them.</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Error on the side of caution. If you don’t understand it, don’t
-touch it and ask on the list. If you think you understand it read it
-again or ask until you are sure you do. Nobody will blame you for asking
-questions.</p>
-</li>
-<li>
-<p>Don’t break the build - if there is the slightest chance the change
-you are making could cause unit test failures, run all unit tests.
-Better yet, get in the habit of always running the unit tests before
-doing the commit.</p>
-</li>
-<li>
-<p>If the build breaks and you have made recent changes then assume you
-broke it and try to fix it. Although it might not have been something
-you did it will make others feel a lot better than having to fix the
-mistake for you. Everyone makes mistakes. Taking responsibility for them
-is a good thing.</p>
-</li>
-<li>
-<p>Don’t change things to match your personal preference - the project
-has <a href="javastyle.html">style guidelines</a> that are validated with
-checkstyle, PMD, and other tools. If you aren’t fixing a bug, fixing a
-problem identified by the tools, or fixing something specifically called
-out in these guidelines then start a discussion to see if the change is
-something the project wants before starting to work on it. We try to
-discuss things first and then implement the consensus reached in the
-discussion.</p>
-</li>
-<li>
-<p>Along the same lines, do not commit automatic changes made by your
-IDE without reviewing them. There are a few places in the code that
-cannot conform to style guidelines without causing errors in some
-environments. These are clearly marked and must be left as is.</p>
-</li>
-</ol>
-</div>
-</div>
-</div>
-</article>
- </div>
-</main>
-</div>
-<footer class="footer">
- <p>
- Copyright © 1999-2024 <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
index 5cb7035330..c5702bebae 100644
--- a/index.html
+++ b/index.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/javadoc.html b/javadoc.html
index 1de0f42550..001d54d349 100644
--- a/javadoc.html
+++ b/javadoc.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-1.2-api.html b/log4j-1.2-api.html
index b64aee25d1..470aeaed09 100644
--- a/log4j-1.2-api.html
+++ b/log4j-1.2-api.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-api.html b/log4j-api.html
index 1d46f15f76..face81bcf5 100644
--- a/log4j-api.html
+++ b/log4j-api.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-appserver.html b/log4j-appserver.html
index 60d9c49a93..86baff8bc1 100644
--- a/log4j-appserver.html
+++ b/log4j-appserver.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-cassandra.html b/log4j-cassandra.html
index 0c943d4a5b..0b54864e91 100644
--- a/log4j-cassandra.html
+++ b/log4j-cassandra.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-couchdb.html b/log4j-couchdb.html
index fabe7a00b7..7ad23bc33f 100644
--- a/log4j-couchdb.html
+++ b/log4j-couchdb.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-docker.html b/log4j-docker.html
index 7a9d0dfa7d..6607526302 100644
--- a/log4j-docker.html
+++ b/log4j-docker.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-flume-ng.html b/log4j-flume-ng.html
index 43a7390156..cb4b0cb288 100644
--- a/log4j-flume-ng.html
+++ b/log4j-flume-ng.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-iostreams.html b/log4j-iostreams.html
index 29e60123c4..cc029f9b67 100644
--- a/log4j-iostreams.html
+++ b/log4j-iostreams.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-jakarta-web.html b/log4j-jakarta-web.html
index 53fc275072..bff318bf9a 100644
--- a/log4j-jakarta-web.html
+++ b/log4j-jakarta-web.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-jcl.html b/log4j-jcl.html
index 5b7e262993..8deb22e7e5 100644
--- a/log4j-jcl.html
+++ b/log4j-jcl.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-jmx-gui.html b/log4j-jmx-gui.html
index 99ee4430fc..d2ef66eef0 100644
--- a/log4j-jmx-gui.html
+++ b/log4j-jmx-gui.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-jpl.html b/log4j-jpl.html
index 27035731d0..dd3aa40b26 100644
--- a/log4j-jpl.html
+++ b/log4j-jpl.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-jul.html b/log4j-jul.html
index 02819b4d22..45e30d1add 100644
--- a/log4j-jul.html
+++ b/log4j-jul.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-mongodb3.html b/log4j-mongodb3.html
index 745e4312e3..b00c2efeed 100644
--- a/log4j-mongodb3.html
+++ b/log4j-mongodb3.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-mongodb4.html b/log4j-mongodb4.html
index 89855f7220..2258c7dadd 100644
--- a/log4j-mongodb4.html
+++ b/log4j-mongodb4.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-slf4j-impl.html b/log4j-slf4j-impl.html
index e10f52e7ca..81c04e9d2c 100644
--- a/log4j-slf4j-impl.html
+++ b/log4j-slf4j-impl.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-slf4j2-impl.html b/log4j-slf4j2-impl.html
index c0207c7847..069cd9b55e 100644
--- a/log4j-slf4j2-impl.html
+++ b/log4j-slf4j2-impl.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-spring-boot.html b/log4j-spring-boot.html
index e2326f602e..51991e9f6f 100644
--- a/log4j-spring-boot.html
+++ b/log4j-spring-boot.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-spring-cloud-config-client.html
b/log4j-spring-cloud-config-client.html
index 961c08de70..3cb80165f3 100644
--- a/log4j-spring-cloud-config-client.html
+++ b/log4j-spring-cloud-config-client.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-spring-cloud-config.html b/log4j-spring-cloud-config.html
index 59c3f20477..3393bc03da 100644
--- a/log4j-spring-cloud-config.html
+++ b/log4j-spring-cloud-config.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-taglib.html b/log4j-taglib.html
index bd363cc737..c77741b9db 100644
--- a/log4j-taglib.html
+++ b/log4j-taglib.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-to-jul.html b/log4j-to-jul.html
index a17b2a6b5c..a2001ac346 100644
--- a/log4j-to-jul.html
+++ b/log4j-to-jul.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-to-slf4j.html b/log4j-to-slf4j.html
index f3c029d2e9..3a980716d0 100644
--- a/log4j-to-slf4j.html
+++ b/log4j-to-slf4j.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/log4j-web.html b/log4j-web.html
index 47823d1fa1..c53b83fb4c 100644
--- a/log4j-web.html
+++ b/log4j-web.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/api-separation.html b/manual/api-separation.html
index a43599ec4b..7be3b13793 100644
--- a/manual/api-separation.html
+++ b/manual/api-separation.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/api.html b/manual/api.html
index 63d1754ea3..723a4b1f54 100644
--- a/manual/api.html
+++ b/manual/api.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/appenders.html b/manual/appenders.html
index d3d475af11..c9524b9715 100644
--- a/manual/appenders.html
+++ b/manual/appenders.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/architecture.html b/manual/architecture.html
index 03cd75d9d6..9435fe6b5e 100644
--- a/manual/architecture.html
+++ b/manual/architecture.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/async.html b/manual/async.html
index ef9aa9e898..75be81dab6 100644
--- a/manual/async.html
+++ b/manual/async.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/cloud.html b/manual/cloud.html
index 10c953a3c3..b3ca6fa25d 100644
--- a/manual/cloud.html
+++ b/manual/cloud.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/compatibility.html b/manual/compatibility.html
index 80885be9d7..b9255b69c7 100644
--- a/manual/compatibility.html
+++ b/manual/compatibility.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/configuration.html b/manual/configuration.html
index e4d1f2f8b1..032e0bd7fa 100644
--- a/manual/configuration.html
+++ b/manual/configuration.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/customconfig.html b/manual/customconfig.html
index 3b4432202a..6eb67e13e5 100644
--- a/manual/customconfig.html
+++ b/manual/customconfig.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/customloglevels.html b/manual/customloglevels.html
index 1432509f39..6e96592e74 100644
--- a/manual/customloglevels.html
+++ b/manual/customloglevels.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/eventlogging.html b/manual/eventlogging.html
index b784cd09ef..33f0198024 100644
--- a/manual/eventlogging.html
+++ b/manual/eventlogging.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/extending.html b/manual/extending.html
index 4f22946d20..5d3c921840 100644
--- a/manual/extending.html
+++ b/manual/extending.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/filters.html b/manual/filters.html
index de12034d50..992fc5e03a 100644
--- a/manual/filters.html
+++ b/manual/filters.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/flowtracing.html b/manual/flowtracing.html
index 73c397a6a6..47fff71c0d 100644
--- a/manual/flowtracing.html
+++ b/manual/flowtracing.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/garbagefree.html b/manual/garbagefree.html
index adfe4c3515..535bb4e3ae 100644
--- a/manual/garbagefree.html
+++ b/manual/garbagefree.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/index.html b/manual/index.html
index 8fc59c298a..c765758716 100644
--- a/manual/index.html
+++ b/manual/index.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/installation.html b/manual/installation.html
index c0b6d8e13f..253f3c2c0b 100644
--- a/manual/installation.html
+++ b/manual/installation.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/jmx.html b/manual/jmx.html
index d5bc5f32d4..075bff35f4 100644
--- a/manual/jmx.html
+++ b/manual/jmx.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/json-template-layout.html b/manual/json-template-layout.html
index f9644bf5ff..671b4d6b9f 100644
--- a/manual/json-template-layout.html
+++ b/manual/json-template-layout.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/layouts.html b/manual/layouts.html
index a44ce99509..6842eb57dd 100644
--- a/manual/layouts.html
+++ b/manual/layouts.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/logbuilder.html b/manual/logbuilder.html
index c732e30d98..dcf63d528a 100644
--- a/manual/logbuilder.html
+++ b/manual/logbuilder.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/logsep.html b/manual/logsep.html
index 26865df4cb..e82e4c60a0 100644
--- a/manual/logsep.html
+++ b/manual/logsep.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/lookups.html b/manual/lookups.html
index 652d7a3b2e..2634a82fdf 100644
--- a/manual/lookups.html
+++ b/manual/lookups.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/markers.html b/manual/markers.html
index 406a8078ab..4e5b850b83 100644
--- a/manual/markers.html
+++ b/manual/markers.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/messages.html b/manual/messages.html
index 13f94ce8c6..f010319d82 100644
--- a/manual/messages.html
+++ b/manual/messages.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/migration.html b/manual/migration.html
index 09941c442f..b2981d789b 100644
--- a/manual/migration.html
+++ b/manual/migration.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/performance.html b/manual/performance.html
index 6696326aa8..28d9059a53 100644
--- a/manual/performance.html
+++ b/manual/performance.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/plugins.html b/manual/plugins.html
index faa6d82eab..02f5c6a6ca 100644
--- a/manual/plugins.html
+++ b/manual/plugins.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/resource-logger.html b/manual/resource-logger.html
index 368db2be36..0477e57c26 100644
--- a/manual/resource-logger.html
+++ b/manual/resource-logger.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/scoped-context.html b/manual/scoped-context.html
index 5e0cc14f0b..6c0ef340ee 100644
--- a/manual/scoped-context.html
+++ b/manual/scoped-context.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/thread-context.html b/manual/thread-context.html
index a6350d066d..08889a4165 100644
--- a/manual/thread-context.html
+++ b/manual/thread-context.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/usage.html b/manual/usage.html
index 95896371cf..deb574dc9e 100644
--- a/manual/usage.html
+++ b/manual/usage.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/manual/webapp.html b/manual/webapp.html
index 62bd6c923b..194adebd87 100644
--- a/manual/webapp.html
+++ b/manual/webapp.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="../faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="../development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/plugin-reference.html b/plugin-reference.html
index d3d7ecc0f5..5cde746a81 100644
--- a/plugin-reference.html
+++ b/plugin-reference.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
@@ -1415,7 +1418,7 @@ Originally developed by Ceki Glc and Anders
Kristensen.</p>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>header</code></p></td>
-<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>boolean?</code></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>String?</code></p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><div class="content"></div></td>
</tr>
diff --git a/release-notes.html b/release-notes.html
index 303fb648eb..77dd1fa3ba 100644
--- a/release-notes.html
+++ b/release-notes.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/runtime-dependencies.html b/runtime-dependencies.html
index 53cd4b3f2e..fdefb06aff 100644
--- a/runtime-dependencies.html
+++ b/runtime-dependencies.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">
diff --git a/sitemap.xml b/sitemap.xml
index 27c3cd9c02..0b1efba461 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,270 +2,270 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://logging.apache.org/log4j/2.x/articles.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
-<loc>https://logging.apache.org/log4j/2.x/download.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<loc>https://logging.apache.org/log4j/2.x/development.html</loc>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
-<loc>https://logging.apache.org/log4j/2.x/faq.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<loc>https://logging.apache.org/log4j/2.x/download.html</loc>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
-<loc>https://logging.apache.org/log4j/2.x/guidelines.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<loc>https://logging.apache.org/log4j/2.x/faq.html</loc>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/index.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/javadoc.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-1.2-api.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-api.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-appserver.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-cassandra.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-couchdb.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-docker.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-flume-ng.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-iostreams.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-jakarta-web.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-jcl.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-jmx-gui.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-jpl.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-jul.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-mongodb3.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-mongodb4.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-slf4j-impl.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-slf4j2-impl.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-spring-boot.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-taglib.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-to-jul.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-to-slf4j.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/log4j-web.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/api-separation.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/api.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/appenders.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/architecture.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/async.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/cloud.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/compatibility.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/configuration.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/customconfig.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/customloglevels.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/eventlogging.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/extending.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/filters.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/flowtracing.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/garbagefree.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/index.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/installation.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/jmx.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/json-template-layout.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/layouts.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/logbuilder.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/logsep.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/lookups.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/markers.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/messages.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/migration.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/performance.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/plugins.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/resource-logger.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/scoped-context.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/thread-context.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/usage.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/manual/webapp.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/plugin-reference.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/release-notes.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/runtime-dependencies.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
<url>
<loc>https://logging.apache.org/log4j/2.x/thanks.html</loc>
-<lastmod>2024-04-30T11:32:57.767Z</lastmod>
+<lastmod>2024-04-30T18:56:46.773Z</lastmod>
</url>
</urlset>
diff --git a/thanks.html b/thanks.html
index 0a36a10cc8..962bf5698c 100644
--- a/thanks.html
+++ b/thanks.html
@@ -196,6 +196,9 @@
<li class="nav-item" data-depth="1">
<a class="nav-link" href="faq.html">F.A.Q.</a>
</li>
+ <li class="nav-item" data-depth="1">
+ <a class="nav-link" href="development.html">Development</a>
+ </li>
</ul>
</li>
<li class="nav-item" data-depth="0">