You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gi...@apache.org on 2024/04/22 04:31:46 UTC

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

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

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


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

commit d1939bd159d5e27b6271362f80f46f41f2763c20
Author: ASF Logging Services RM <pr...@logging.apache.org>
AuthorDate: Mon Apr 22 04:31:42 2024 +0000

    Add website content generated from `f95b50babfd4c768037a74b5f3fd483806e7c735`
---
 articles.html                                      |   6 +
 download.html                                      |   6 +
 faq.html                                           |   6 +
 getting-started/index.html                         |   6 +
 guidelines.html                                    |   6 +
 index.html                                         |   6 +
 javadoc.html                                       |   6 +
 javadoc/log4j-core/allclasses-index.html           | 778 ++++++++++-----------
 javadoc/log4j-core/allpackages-index.html          |  42 +-
 javadoc/log4j-core/element-list                    |   1 +
 javadoc/log4j-core/index-all.html                  | 227 +++---
 javadoc/log4j-core/index.html                      |  42 +-
 javadoc/log4j-core/member-search-index.js          |   2 +-
 .../logging/log4j/core/AbstractLogEvent.html       |   3 +-
 .../logging/log4j/core/ContextDataInjector.html    | 269 -------
 .../org/apache/logging/log4j/core/LogEvent.html    |   3 +-
 .../logging/log4j/core/ReusableLogEvent.html       |   3 +-
 .../log4j/core/class-use/ContextDataInjector.html  | 209 ------
 .../log4j/core/class-use/Filter.Result.html        |   5 +-
 .../log4j/core/config/class-use/Property.html      |  95 +--
 .../logging/log4j/core/config/package-use.html     |   6 +-
 .../filter/DynamicThresholdFilter.Builder.html     |  16 +-
 .../log4j/core/filter/DynamicThresholdFilter.html  |   4 +-
 .../filter/ThreadContextMapFilter.Builder.html     |  14 +-
 .../log4j/core/filter/ThreadContextMapFilter.html  |  10 +-
 .../class-use/DynamicThresholdFilter.Builder.html  |   9 +-
 .../class-use/ThreadContextMapFilter.Builder.html  |   7 +-
 ...adContextDataInjector.html => ContextData.html} | 158 ++---
 .../log4j/core/impl/ContextDataFactory.html        |   3 +-
 .../core/impl/ContextDataInjectorFactory.html      | 212 ------
 .../logging/log4j/core/impl/CoreDefaultBundle.html |  84 +--
 .../impl/CoreProperties.ContextDataProperties.html |  38 +-
 .../log4j/core/impl/Log4jLogEvent.Builder.html     |  49 +-
 .../logging/log4j/core/impl/Log4jLogEvent.html     |   1 -
 .../logging/log4j/core/impl/Log4jProvider.html     |  23 +-
 .../logging/log4j/core/impl/MementoLogEvent.html   |   3 +-
 .../logging/log4j/core/impl/MutableLogEvent.html   |   3 +-
 .../log4j/core/impl/ReusableLogEventFactory.html   |   8 +-
 ...rovider.html => ScopedContextDataProvider.html} |  97 ++-
 ...ataInjector.ForCopyOnWriteThreadContextMap.html | 239 -------
 ...extDataInjector.ForDefaultThreadContextMap.html | 236 -------
 .../log4j/core/impl/ThreadContextDataProvider.html |  73 +-
 ...xtDataInjectorFactory.html => ContextData.html} |  10 +-
 .../core/impl/class-use/Log4jLogEvent.Builder.html |  43 +-
 .../log4j/core/impl/class-use/LogEventFactory.html |   3 +-
 ...njector.html => ScopedContextDataProvider.html} |  10 +-
 .../log4j/core/impl/internal/Activator.html        | 151 ++++
 .../QueuedScopedContextProvider.html}              | 178 ++---
 .../core/impl/internal/ReusableMessageFactory.html | 481 +++++++++++++
 .../class-use/Activator.html}                      |  32 +-
 .../class-use/QueuedScopedContextProvider.html}    |  32 +-
 .../class-use/ReusableMessageFactory.html}         |  32 +-
 .../log4j/core/impl/internal/package-summary.html  | 111 +++
 .../package-tree.html}                             |  46 +-
 .../package-use.html}                              |  18 +-
 .../logging/log4j/core/impl/package-summary.html   |  42 +-
 .../logging/log4j/core/impl/package-tree.html      |   7 +-
 .../log4j/core/lookup/ContextMapLookup.html        |   2 +-
 .../apache/logging/log4j/core/package-summary.html |  76 +-
 .../apache/logging/log4j/core/package-tree.html    |   1 -
 .../org/apache/logging/log4j/core/package-use.html |  94 ++-
 .../logging/log4j/core/time/class-use/Clock.html   |   6 +-
 .../log4j/core/time/class-use/NanoClock.html       |   6 +-
 .../log4j/core/util/ContextDataProvider.html       |  76 +-
 .../core/util/class-use/ContextDataProvider.html   |  20 +-
 javadoc/log4j-core/overview-tree.html              |  20 +-
 javadoc/log4j-core/package-search-index.js         |   2 +-
 javadoc/log4j-core/type-search-index.js            |   2 +-
 log4j-1.2-api.html                                 |   6 +
 log4j-api.html                                     |   6 +
 log4j-docker.html                                  |   6 +
 log4j-flume-ng.html                                |   6 +
 log4j-iostreams.html                               |   6 +
 log4j-jpl.html                                     |   6 +
 log4j-jul.html                                     |   6 +
 log4j-mongodb4.html                                |   6 +
 log4j-slf4j-impl.html                              |   6 +
 log4j-slf4j2-impl.html                             |   6 +
 log4j-spring-cloud-config-client.html              |   6 +
 log4j-to-jul.html                                  |   6 +
 log4j-to-slf4j.html                                |   6 +
 manual/api-separation.html                         |   6 +
 manual/api.html                                    |   6 +
 manual/appenders.html                              |   6 +
 manual/architecture.html                           |   6 +
 manual/async.html                                  |   6 +
 manual/cloud.html                                  |   6 +
 manual/compatibility.html                          |   6 +
 manual/configuration.html                          |   6 +
 manual/customconfig.html                           |   6 +
 manual/customloglevels.html                        |   6 +
 manual/dependencyinjection.html                    |   9 +-
 manual/eventlogging.html                           |   6 +
 manual/extending.html                              |   9 +-
 manual/filters.html                                |   6 +
 manual/flowtracing.html                            |   6 +
 manual/garbagefree.html                            |   6 +
 manual/index.html                                  |   6 +
 manual/installation.html                           |   6 +
 manual/jmx.html                                    |   6 +
 manual/json-template-layout.html                   |   6 +
 manual/layouts.html                                |   6 +
 manual/log4j1-compat.html                          |   6 +
 manual/logbuilder.html                             |   6 +
 manual/logsep.html                                 |   6 +
 manual/lookups.html                                |   6 +
 manual/markers.html                                |   6 +
 manual/messages.html                               |   6 +
 manual/migration.html                              |   6 +
 manual/performance.html                            |   6 +
 manual/plugins.html                                |   6 +
 manual/{markers.html => resource-logger.html}      | 153 ++--
 manual/{logbuilder.html => scoped-context.html}    | 171 ++---
 manual/systemproperties.html                       |  14 +-
 manual/thread-context.html                         |   6 +
 manual/usage.html                                  |   6 +
 plugin-reference.html                              |  12 +-
 release-notes.html                                 |   6 +
 runtime-dependencies.html                          |   6 +
 sitemap.xml                                        | 122 ++--
 thanks.html                                        |   6 +
 121 files changed, 2605 insertions(+), 2676 deletions(-)

diff --git a/articles.html b/articles.html
index 0bc96bb9cd..4b2a87cf11 100644
--- a/articles.html
+++ b/articles.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/download.html b/download.html
index bc1fd8abe4..f3c696dcd4 100644
--- a/download.html
+++ b/download.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/faq.html b/faq.html
index 8f85e953ef..839368a241 100644
--- a/faq.html
+++ b/faq.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/getting-started/index.html b/getting-started/index.html
index aaf9abe571..aa12a1b659 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/guidelines.html b/guidelines.html
index 2c96f29e35..364b9dc370 100644
--- a/guidelines.html
+++ b/guidelines.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/index.html b/index.html
index 523c50d2b1..bfaaec93b7 100644
--- a/index.html
+++ b/index.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/javadoc.html b/javadoc.html
index 115f7d9095..fa4a6972a9 100644
--- a/javadoc.html
+++ b/javadoc.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/javadoc/log4j-core/allclasses-index.html b/javadoc/log4j-core/allclasses-index.html
index be9de86184..a7ba22f1b5 100644
--- a/javadoc/log4j-core/allclasses-index.html
+++ b/javadoc/log4j-core/allclasses-index.html
@@ -246,306 +246,304 @@ loadScripts(document, 'script');</script>
  file system actions for RollingFileAppenders after the close of
  the active log file.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/net/Advertiser.html" title="interface in org.apache.logging.log4j.core.net">Advertiser</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/pattern/AnsiEscape.html" title="enum class in org.apache.logging.log4j.core.pattern">AnsiEscape</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/internal/Activator.html" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/net/Advertiser.html" title="interface in org.apache.logging.log4j.core.net">Advertiser</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/pattern/AnsiEscape.html" title="enum class in org.apache.logging.log4j.core.pattern">AnsiEscape</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
 <div class="block">Converts text into ANSI escape sequences.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/Appender.html" title="interface in org.apache.logging.log4j.core">Appender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/Appender.html" title="interface in org.apache.logging.log4j.core">Appender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Appends <a href="org/apache/logging/log4j/core/LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a>s.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/AppenderComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">AppenderComponentBuilder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/AppenderComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">AppenderComponentBuilder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Builder for constructing Appender Components.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderControl.html" title="class in org.apache.logging.log4j.core.config">AppenderControl</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderControl.html" title="class in org.apache.logging.log4j.core.config">AppenderControl</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Wraps an <a href="org/apache/logging/log4j/core/Appender.html" title="interface in org.apache.logging.log4j.core"><code>Appender</code></a> with details an appender implementation shouldn't need to know about.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderControlArraySet.html" title="class in org.apache.logging.log4j.core.config">AppenderControlArraySet</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderControlArraySet.html" title="class in org.apache.logging.log4j.core.config">AppenderControlArraySet</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Data structure with similar semantics to CopyOnWriteArraySet, but giving direct access to the underlying array.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/appender/AppenderLoggingException.html" title="class in org.apache.logging.log4j.core.appender">AppenderLoggingException</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab5">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/appender/AppenderLoggingException.html" title="class in org.apache.logging.log4j.core.appender">AppenderLoggingException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
 <div class="block">Thrown from an appender when a log event could not be written.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderRef.html" title="class in org.apache.logging.log4j.core.config">AppenderRef</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppenderRef.html" title="class in org.apache.logging.log4j.core.config">AppenderRef</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">An Appender reference.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/AppenderRefComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">AppenderRefComponentBuilder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/AppenderRefComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">AppenderRefComponentBuilder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Assembler for constructing AppenderRef Components.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AppenderSet.html" title="class in org.apache.logging.log4j.core.appender">AppenderSet</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AppenderSet.html" title="class in org.apache.logging.log4j.core.appender">AppenderSet</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A deferred plugin for appenders.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AppenderSet.Builder.html" title="class in org.apache.logging.log4j.core.appender">AppenderSet.Builder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppendersPlugin.html" title="class in org.apache.logging.log4j.core.config">AppendersPlugin</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AppenderSet.Builder.html" title="class in org.apache.logging.log4j.core.appender">AppenderSet.Builder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AppendersPlugin.html" title="class in org.apache.logging.log4j.core.config">AppendersPlugin</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">An Appender container.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/arbiters/Arbiter.html" title="interface in org.apache.logging.log4j.core.config.arbiters">Arbiter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/arbiters/Arbiter.html" title="interface in org.apache.logging.log4j.core.config.arbiters">Arbiter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface used to check for portions of the configuration that may be optionally included.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/ArrayBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async">ArrayBlockingQueueFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/ArrayBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async">ArrayBlockingQueueFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory for creating instances of <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link"><code>ArrayBlockingQueue</code></a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/pattern/ArrayPatternConverter.html" title="interface in org.apache.logging.log4j.core.pattern">ArrayPatternConverter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/pattern/ArrayPatternConverter.html" title="interface in org.apache.logging.log4j.core.pattern">ArrayPatternConverter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block"><a href="org/apache/logging/log4j/core/pattern/PatternConverter.html" title="interface in org.apache.logging.log4j.core.pattern"><code>PatternConverter</code></a>s implement this interface to accept an array of objects when formatting.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/ArrayUtils.html" title="class in org.apache.logging.log4j.core.util">ArrayUtils</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/ArrayUtils.html" title="class in org.apache.logging.log4j.core.util">ArrayUtils</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Copied from Apache Commons Lang (including the <code>@since</code> tags.)</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AsyncAppender.html" title="class in org.apache.logging.log4j.core.appender">AsyncAppender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AsyncAppender.html" title="class in org.apache.logging.log4j.core.appender">AsyncAppender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Appends to one or more Appenders asynchronously.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AsyncAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">AsyncAppender.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullMessageUtil.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullMessageUtil</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/AsyncAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">AsyncAppender.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullMessageUtil.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullMessageUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block"><b>Consider this class private.</b></div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Policy for deciding whether to discard the event, enqueue it or log the event on the current thread when the queue
  is full.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullPolicyFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/async/AsyncQueueFullPolicyFactory.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullPolicyFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Creates <a href="org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async"><code>AsyncQueueFullPolicy</code></a> instances based on user-specified system properties.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/AuthorizationProvider.html" title="interface in org.apache.logging.log4j.core.util">AuthorizationProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/AuthorizationProvider.html" title="interface in org.apache.logging.log4j.core.util">AuthorizationProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface to be implemented to add an Authorization header to an HTTP request.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.html" title="class in org.apache.logging.log4j.core.config">AwaitCompletionReliabilityStrategy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.html" title="class in org.apache.logging.log4j.core.config">AwaitCompletionReliabilityStrategy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">ReliabilityStrategy that counts the number of threads that have started to log an event but have not completed yet,
  and waits for these threads to finish before allowing the appenders to be stopped.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.html" title="class in org.apache.logging.log4j.core.config">AwaitUnconditionallyReliabilityStrategy</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.html" title="class in org.apache.logging.log4j.core.config">AwaitUnconditionallyReliabilityStrategy</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Reliability strategy that sleeps unconditionally for some time before allowing a Configuration to be stopped.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/Base64StrLookup.html" title="class in org.apache.logging.log4j.core.lookup">Base64StrLookup</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/Base64StrLookup.html" title="class in org.apache.logging.log4j.core.lookup">Base64StrLookup</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Decodes Base64 strings.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/BasicAuthorizationProvider.html" title="class in org.apache.logging.log4j.core.util">BasicAuthorizationProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/BasicAuthorizationProvider.html" title="class in org.apache.logging.log4j.core.util">BasicAuthorizationProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Provides the Basic Authorization header to a request.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/selector/BasicContextSelector.html" title="class in org.apache.logging.log4j.core.selector">BasicContextSelector</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/selector/BasicContextSelector.html" title="class in org.apache.logging.log4j.core.selector">BasicContextSelector</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Returns either this Thread's context or the default LoggerContext.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/async/BlockingQueueFactory.html" title="interface in org.apache.logging.log4j.core.async">BlockingQueueFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/async/BlockingQueueFactory.html" title="interface in org.apache.logging.log4j.core.async">BlockingQueueFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Factory for creating instances of <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link"><code>BlockingQueue</code></a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Booleans.html" title="class in org.apache.logging.log4j.core.util">Booleans</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Booleans.html" title="class in org.apache.logging.log4j.core.util">Booleans</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Boolean helpers.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Builder.html" title="interface in org.apache.logging.log4j.core.util">Builder</a>&lt;<a href="org/apache/logging/log4j/core/util/Builder.html" title="type parameter in Builder">T</a>&gt;</div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">Deprecated.
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Builder.html" title="interface in org.apache.logging.log4j.core.util">Builder</a>&lt;<a href="org/apache/logging/log4j/core/util/Builder.html" title="type parameter in Builder">T</a>&gt;</div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">Deprecated.
 <div class="deprecation-comment">Present only for compatibility with Log4j 2 2.x plugins.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.html" title="class in org.apache.logging.log4j.core.config.builder.impl">BuiltConfiguration</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.html" title="class in org.apache.logging.log4j.core.config.builder.impl">BuiltConfiguration</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This is the general version of the Configuration created by the Builder.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/BurstFilter.html" title="class in org.apache.logging.log4j.core.filter">BurstFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/BurstFilter.html" title="class in org.apache.logging.log4j.core.filter">BurstFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">The <code>BurstFilter</code> is a logging filter that regulates logging traffic.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/BurstFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">BurstFilter.Builder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/layout/ByteBufferDestination.html" title="interface in org.apache.logging.log4j.core.layout">ByteBufferDestination</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/BurstFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">BurstFilter.Builder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/layout/ByteBufferDestination.html" title="interface in org.apache.logging.log4j.core.layout">ByteBufferDestination</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">ByteBufferDestination is the destination that <a href="org/apache/logging/log4j/core/layout/Encoder.html" title="interface in org.apache.logging.log4j.core.layout"><code>Encoder</code></a>s write binary data to.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/ByteBufferDestinationHelper.html" title="class in org.apache.logging.log4j.core.layout">ByteBufferDestinationHelper</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/ByteBufferDestinationHelper.html" title="class in org.apache.logging.log4j.core.layout">ByteBufferDestinationHelper</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Helper class for ByteBufferDestination implementors.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Cancellable.html" title="interface in org.apache.logging.log4j.core.util">Cancellable</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Cancellable.html" title="interface in org.apache.logging.log4j.core.util">Cancellable</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface to cancel a Runnable callback.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/ClassArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">ClassArbiter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/ClassArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">ClassArbiter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Conditional that determines if the specified class is present.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/ClassArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">ClassArbiter.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html" title="class in org.apache.logging.log4j.core.selector">ClassLoaderContextSelector</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/ClassArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">ClassArbiter.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html" title="class in org.apache.logging.log4j.core.selector">ClassLoaderContextSelector</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This ContextSelector chooses a LoggerContext based upon the ClassLoader of the caller.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ClassNamePatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ClassNamePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ClassNamePatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the class name of the site of the logging request.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Provides the time stamp used in log events.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/time/ClockFactory.html" title="class in org.apache.logging.log4j.core.time">ClockFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/time/ClockFactory.html" title="class in org.apache.logging.log4j.core.time">ClockFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory for <code>Clock</code> objects.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Closer.html" title="class in org.apache.logging.log4j.core.util">Closer</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Closer.html" title="class in org.apache.logging.log4j.core.util">Closer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Closes resources.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/CloseShieldOutputStream.html" title="class in org.apache.logging.log4j.core.util">CloseShieldOutputStream</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/CloseShieldOutputStream.html" title="class in org.apache.logging.log4j.core.util">CloseShieldOutputStream</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A delegating OutputStream that does not close its delegate.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/CloseShieldWriter.html" title="class in org.apache.logging.log4j.core.util">CloseShieldWriter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/db/ColumnMapping.html" title="class in org.apache.logging.log4j.core.appender.db">ColumnMapping</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/CloseShieldWriter.html" title="class in org.apache.logging.log4j.core.util">CloseShieldWriter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/db/ColumnMapping.html" title="class in org.apache.logging.log4j.core.appender.db">ColumnMapping</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A configuration element for specifying a database column name mapping.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/db/ColumnMapping.Builder.html" title="class in org.apache.logging.log4j.core.appender.db">ColumnMapping.Builder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/db/ColumnMapping.Builder.html" title="class in org.apache.logging.log4j.core.appender.db">ColumnMapping.Builder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builder for <a href="org/apache/logging/log4j/core/appender/db/ColumnMapping.html" title="class in org.apache.logging.log4j.core.appender.db"><code>ColumnMapping</code></a>.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/CommonsCompressAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">CommonsCompressAction</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/CommonsCompressAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">CommonsCompressAction</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Compresses a file using bzip2 compression.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/api/Component.html" title="class in org.apache.logging.log4j.core.config.builder.api">Component</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/api/Component.html" title="class in org.apache.logging.log4j.core.config.builder.api">Component</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Container for building Configurations.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ComponentBuilder</a>&lt;<a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="type parameter in ComponentBuilder">T</a> extends <a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="interface in  [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ComponentBuilder</a>&lt;<a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="type parameter in ComponentBuilder">T</a> extends <a href="org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.html" title="interface in [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Builds arbitrary components and is the base type for the provided components.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/CompositeAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">CompositeAction</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/CompositeAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">CompositeAction</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A group of Actions to be executed in sequence.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/composite/CompositeConfiguration.html" title="class in org.apache.logging.log4j.core.config.composite">CompositeConfiguration</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/composite/CompositeConfiguration.html" title="class in org.apache.logging.log4j.core.config.composite">CompositeConfiguration</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A Composite Configuration.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/CompositeFilter.html" title="class in org.apache.logging.log4j.core.filter">CompositeFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/CompositeFilter.html" title="class in org.apache.logging.log4j.core.filter">CompositeFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Composes and invokes one or more filters.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/CompositeFilterComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">CompositeFilterComponentBuilder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/CompositeFilterComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">CompositeFilterComponentBuilder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Wraps multiple Filter Component builders.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">CompositeTriggeringPolicy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/CompositeTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">CompositeTriggeringPolicy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Triggering policy that wraps other triggering policies.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in org.apache.logging.log4j.core.config">Configuration</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in org.apache.logging.log4j.core.config">Configuration</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface that must be implemented to create a configuration.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ConfigurationAware.html" title="interface in org.apache.logging.log4j.core.config">ConfigurationAware</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ConfigurationAware.html" title="interface in org.apache.logging.log4j.core.config">ConfigurationAware</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Indicates that a class requests the current Configuration to be injected.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationAwarePostProcessor.html" title="class in org.apache.logging.log4j.core.config">ConfigurationAwarePostProcessor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ConfigurationBuilder</a>&lt;<a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html" title="type parameter in ConfigurationBuilder">T</a> extends <a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface i [...]
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationAwarePostProcessor.html" title="class in org.apache.logging.log4j.core.config">ConfigurationAwarePostProcessor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ConfigurationBuilder</a>&lt;<a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html" title="type parameter in ConfigurationBuilder">T</a> extends <a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in [...]
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface for building logging configurations.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilderFactory.html" title="class in org.apache.logging.log4j.core.config.builder.api">ConfigurationBuilderFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilderFactory.html" title="class in org.apache.logging.log4j.core.config.builder.api">ConfigurationBuilderFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Provides methods to create ConfigurationBuilders.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/config/ConfigurationException.html" title="class in org.apache.logging.log4j.core.config">ConfigurationException</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab5">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/config/ConfigurationException.html" title="class in org.apache.logging.log4j.core.config">ConfigurationException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
 <div class="block">This exception is thrown when an error occurs reading from, parsing, using, or initializing the Log4j 2
  configuration.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ConfigurationExtension.html" title="interface in org.apache.logging.log4j.core.config">ConfigurationExtension</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ConfigurationExtension.html" title="interface in org.apache.logging.log4j.core.config">ConfigurationExtension</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Marker interface used by new child elements of a <a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in org.apache.logging.log4j.core.config"><code>Configuration</code></a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationFactory.html" title="class in org.apache.logging.log4j.core.config">ConfigurationFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationFactory.html" title="class in org.apache.logging.log4j.core.config">ConfigurationFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory class for parsed <a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in org.apache.logging.log4j.core.config"><code>Configuration</code></a> objects from a configuration file.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConfigurationFactoryData.html" title="class in org.apache.logging.log4j.core.appender">ConfigurationFactoryData</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConfigurationFactoryData.html" title="class in org.apache.logging.log4j.core.appender">ConfigurationFactoryData</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory Data that carries a configuration.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationFileWatcher.html" title="class in org.apache.logging.log4j.core.config">ConfigurationFileWatcher</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationFileWatcher.html" title="class in org.apache.logging.log4j.core.config">ConfigurationFileWatcher</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Watcher for configuration files.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationProcessor.html" title="class in org.apache.logging.log4j.core.config">ConfigurationProcessor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationProcessor.html" title="class in org.apache.logging.log4j.core.config">ConfigurationProcessor</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Processes a parsed tree of configuration nodes into configurable plugin objects described
  by the configuration tree.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationScheduler.html" title="class in org.apache.logging.log4j.core.config">ConfigurationScheduler</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationSource.html" title="class in org.apache.logging.log4j.core.config">ConfigurationSource</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationScheduler.html" title="class in org.apache.logging.log4j.core.config">ConfigurationScheduler</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ConfigurationSource.html" title="class in org.apache.logging.log4j.core.config">ConfigurationSource</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Represents the source for the logging configuration.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/ConfigurationStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">ConfigurationStrSubstitutor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/ConfigurationStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">ConfigurationStrSubstitutor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block"><a href="org/apache/logging/log4j/core/lookup/RuntimeStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup"><code>RuntimeStrSubstitutor</code></a> is a <a href="org/apache/logging/log4j/core/lookup/StrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup"><code>StrSubstitutor</code></a> which only supports recursive evaluation of lookups.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/Configurator.html" title="class in org.apache.logging.log4j.core.config">Configurator</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/Configurator.html" title="class in org.apache.logging.log4j.core.config">Configurator</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Initializes and configure the Logging system.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.html" title="class in org.apache.logging.log4j.core.appender">ConsoleAppender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.html" title="class in org.apache.logging.log4j.core.appender">ConsoleAppender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Appends log events to <code>System.out</code> or <code>System.err</code> using a layout specified by the user.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">ConsoleAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="type parameter in ConsoleAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="class in org.apache.lo [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">ConsoleAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="type parameter in ConsoleAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Builder.html" title="class in org.apache.l [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builds ConsoleAppender instances.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Target.html" title="enum class in org.apache.logging.log4j.core.appender">ConsoleAppender.Target</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/appender/ConsoleAppender.Target.html" title="enum class in org.apache.logging.log4j.core.appender">ConsoleAppender.Target</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">
 <div class="block">Enumeration of console destinations.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Constants.html" title="class in org.apache.logging.log4j.core.util">Constants</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Constants.html" title="class in org.apache.logging.log4j.core.util">Constants</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Log4j Constants.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ContextAnchor.html" title="class in org.apache.logging.log4j.core.impl">ContextAnchor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ContextAnchor.html" title="class in org.apache.logging.log4j.core.impl">ContextAnchor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Anchor for the ThreadContext.</div>
 </div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="block">General purpose utility class for accessing data accessible through ContextDataProviders.</div>
+</div>
 <div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ContextDataFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a></div>
 <div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="org/apache/logging/log4j/core/LogEvent.html#getContextData()">context data</a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Factory for ContextDataInjectors.</div>
-</div>
 <div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Source of context data to be added to each log event.</div>
@@ -1770,63 +1768,69 @@ loadScripts(document, 'script');</script>
 <div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Policy for purging routed appenders</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileAppender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileAppender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">File Appender.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.Builder.html" title="type parameter in RandomAccessFileAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppende [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppender.Builder.html" title="type parameter in RandomAccessFileAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/RandomAccessFileAppend [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builds RandomAccessFileAppender instances.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileManager.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/RandomAccessFileManager.html" title="class in org.apache.logging.log4j.core.appender">RandomAccessFileManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Extends OutputStreamManager but instead of using a buffered output stream,
  this class uses a <code>ByteBuffer</code> and a <code>RandomAccessFile</code> to do the
  I/O.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/Reconfigurable.html" title="interface in org.apache.logging.log4j.core.config">Reconfigurable</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/Reconfigurable.html" title="interface in org.apache.logging.log4j.core.config">Reconfigurable</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Implemented by Configurations that can be reconfigured at runtime.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/RegexFilter.html" title="class in org.apache.logging.log4j.core.filter">RegexFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/RegexFilter.html" title="class in org.apache.logging.log4j.core.filter">RegexFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This filter returns the onMatch result if the message matches the regular expression.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RegexReplacement.html" title="class in org.apache.logging.log4j.core.pattern">RegexReplacement</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RegexReplacement.html" title="class in org.apache.logging.log4j.core.pattern">RegexReplacement</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Replace tokens in the LogEvent message.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RegexReplacementConverter.html" title="class in org.apache.logging.log4j.core.pattern">RegexReplacementConverter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RegexReplacementConverter.html" title="class in org.apache.logging.log4j.core.pattern">RegexReplacementConverter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Replacement pattern converter.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">RelativeTimePatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RelativeTimePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">RelativeTimePatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Returns the relative time in milliseconds since JVM Startup.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ReliabilityStrategy.html" title="interface in org.apache.logging.log4j.core.config">ReliabilityStrategy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/ReliabilityStrategy.html" title="interface in org.apache.logging.log4j.core.config">ReliabilityStrategy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Interface for objects that know how to ensure delivery of log events to the appropriate appenders, even during and
  after the configuration has been modified while the system is actively used.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.html" title="class in org.apache.logging.log4j.core.config">ReliabilityStrategyFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.html" title="class in org.apache.logging.log4j.core.config">ReliabilityStrategyFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory for ReliabilityStrategies.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RepeatPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">RepeatPatternConverter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/RepeatPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">RepeatPatternConverter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Equals pattern converter.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/ResourceBundleLookup.html" title="class in org.apache.logging.log4j.core.lookup">ResourceBundleLookup</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/ResourceBundleLookup.html" title="class in org.apache.logging.log4j.core.lookup">ResourceBundleLookup</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Looks up keys from resource bundles.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/ReusableLogEvent.html" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/ReusableLogEvent.html" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Garbage-free LogEventFactory that recycles mutable <a href="org/apache/logging/log4j/core/LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a> instances.</div>
 </div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">Message factory that avoids allocating temporary objects where possible.</div>
+</div>
 <div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.html" title="class in org.apache.logging.log4j.core.appender.rewrite">RewriteAppender</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This Appender allows the logging event to be manipulated before it is processed by other Appenders.</div>
@@ -1926,373 +1930,357 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab7">
 <div class="block">Annotation that identifies a Class as requiring a Scheduled thread.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/Script.html" title="interface in org.apache.logging.log4j.core.script">Script</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Represents int</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="block">ContextDataProvider for <code>Map&lt;String, String&gt;</code> data.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptBindings.html" title="interface in org.apache.logging.log4j.core.script">ScriptBindings</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/Script.html" title="interface in org.apache.logging.log4j.core.script">Script</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Container for javax.script.Bindings.</div>
+<div class="block">Represents int</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ScriptComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ScriptComponentBuilder</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptBindings.html" title="interface in org.apache.logging.log4j.core.script">ScriptBindings</a></div>
 <div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Assembler for constructing Layout Components.</div>
+<div class="block">Container for javax.script.Bindings.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptConditional.html" title="interface in org.apache.logging.log4j.core.script">ScriptConditional</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ScriptComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ScriptComponentBuilder</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Interface for the ScriptCondition plugin.</div>
+<div class="block">Assembler for constructing Layout Components.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ScriptFileComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ScriptFileComponentBuilder</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptConditional.html" title="interface in org.apache.logging.log4j.core.script">ScriptConditional</a></div>
 <div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Assembler for constructing ScriptFile Components.</div>
+<div class="block">Interface for the ScriptCondition plugin.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptManager.html" title="interface in org.apache.logging.log4j.core.script">ScriptManager</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/builder/api/ScriptFileComponentBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ScriptFileComponentBuilder</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Script Manager.</div>
+<div class="block">Assembler for constructing ScriptFile Components.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptManagerFactory.html" title="interface in org.apache.logging.log4j.core.script">ScriptManagerFactory</a></div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptManager.html" title="interface in org.apache.logging.log4j.core.script">ScriptManager</a></div>
 <div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Interface to create a ScriptManager.</div>
+<div class="block">Script Manager.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/SecretKeyProvider.html" title="interface in org.apache.logging.log4j.core.util">SecretKeyProvider</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/script/ScriptManagerFactory.html" title="interface in org.apache.logging.log4j.core.script">ScriptManagerFactory</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="block">Interface to create a ScriptManager.</div>
+</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/SecretKeyProvider.html" title="interface in org.apache.logging.log4j.core.util">SecretKeyProvider</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Factory class to provide a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/crypto/SecretKey.html" title="class or interface in javax.crypto" class="external-link"><code>SecretKey</code></a> instance.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Class Description goes here.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter.Builder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">SequenceNumberPatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter.Builder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">SequenceNumberPatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the event sequence number.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/net/Severity.html" title="enum class in org.apache.logging.log4j.core.net">Severity</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/net/Severity.html" title="enum class in org.apache.logging.log4j.core.net">Severity</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">
 <div class="block">Severity values used by the Syslog system.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/ShutdownCallbackRegistry.html" title="interface in org.apache.logging.log4j.core.util">ShutdownCallbackRegistry</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/ShutdownCallbackRegistry.html" title="interface in org.apache.logging.log4j.core.util">ShutdownCallbackRegistry</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Registry used for Runnable shutdown callback instances.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">SizeBasedTriggeringPolicy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketAddress.html" title="class in org.apache.logging.log4j.core.net">SocketAddress</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">SizeBasedTriggeringPolicy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketAddress.html" title="class in org.apache.logging.log4j.core.net">SocketAddress</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Plugin to hold a hostname and port (socket address).</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketAddress.Builder.html" title="class in org.apache.logging.log4j.core.net">SocketAddress.Builder</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketAddress.Builder.html" title="class in org.apache.logging.log4j.core.net">SocketAddress.Builder</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">An Appender that delivers events over socket connections.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender.AbstractBuilder</a>&lt;<a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder.html" title="type parameter in SocketAppender.AbstractBuilder">B</a> extends <a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder [...]
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender.AbstractBuilder</a>&lt;<a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder.html" title="type parameter in SocketAppender.AbstractBuilder">B</a> extends <a href="org/apache/logging/log4j/core/appender/SocketAppender.AbstractBuilder. [...]
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Subclasses can extend this abstract Builder.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SocketAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">SocketAppender.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builds a SocketAppender.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketOptions.html" title="class in org.apache.logging.log4j.core.net">SocketOptions</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketOptions.html" title="class in org.apache.logging.log4j.core.net">SocketOptions</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Holds all socket options settable via <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/Socket.html" title="class or interface in java.net" class="external-link"><code>Socket</code></a> methods.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketPerformancePreferences.html" title="class in org.apache.logging.log4j.core.net">SocketPerformancePreferences</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SocketPerformancePreferences.html" title="class in org.apache.logging.log4j.core.net">SocketPerformancePreferences</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Holds all socket options settable via <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/Socket.html#setPerformancePreferences(int,int,int)" title="class or interface in java.net" class="external-link"><code>Socket.setPerformancePreferences(int, int, int)</code></a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/SortingVisitor.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">SortingVisitor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/SortingVisitor.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">SortingVisitor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">FileVisitor that sorts files.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Source.html" title="class in org.apache.logging.log4j.core.util">Source</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Source.html" title="class in org.apache.logging.log4j.core.util">Source</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Represents the source for the logging configuration as an immutable object.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfiguration</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfiguration</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">SSL Configuration</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationDefaults.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationDefaults</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationException</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationDefaults.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationDefaults</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.html" title="class in org.apache.logging.log4j.core.net.ssl">SslConfigurationFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Creates an SSL configuration from Log4j properties.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SslSocketManager.html" title="class in org.apache.logging.log4j.core.net">SslSocketManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/status/StatusConfiguration.html" title="class in org.apache.logging.log4j.core.config.status">StatusConfiguration</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/SslSocketManager.html" title="class in org.apache.logging.log4j.core.net">SslSocketManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/status/StatusConfiguration.html" title="class in org.apache.logging.log4j.core.config.status">StatusConfiguration</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Configuration for setting up <code>StatusConsoleListener</code> instances.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/config/status/StatusConfiguration.Verbosity.html" title="enum class in org.apache.logging.log4j.core.config.status">StatusConfiguration.Verbosity</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="org/apache/logging/log4j/core/config/status/StatusConfiguration.Verbosity.html" title="enum class in org.apache.logging.log4j.core.config.status">StatusConfiguration.Verbosity</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">
 <div class="block">Specifies how verbose the StatusLogger should be.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/StoreConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">StoreConfiguration</a>&lt;<a href="org/apache/logging/log4j/core/net/ssl/StoreConfiguration.html" title="type parameter in StoreConfiguration">T</a>&gt;</div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/StoreConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">StoreConfigurationException</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/StringBuilderEncoder.html" title="class in org.apache.logging.log4j.core.layout">StringBuilderEncoder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/StoreConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">StoreConfiguration</a>&lt;<a href="org/apache/logging/log4j/core/net/ssl/StoreConfiguration.html" title="type parameter in StoreConfiguration">T</a>&gt;</div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/StoreConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">StoreConfigurationException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/StringBuilderEncoder.html" title="class in org.apache.logging.log4j.core.layout">StringBuilderEncoder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block"><a href="org/apache/logging/log4j/core/layout/Encoder.html" title="interface in org.apache.logging.log4j.core.layout"><code>Encoder</code></a> for <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link"><code>StringBuilder</code></a>s.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/StringBuilderWriter.html" title="class in org.apache.logging.log4j.core.util">StringBuilderWriter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/StringBuilderWriter.html" title="class in org.apache.logging.log4j.core.util">StringBuilderWriter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Writer.html" title="class or interface in java.io" class="external-link"><code>Writer</code></a> implementation that outputs to a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link"><code>StringBuilder</code></a>.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/StringLayout.html" title="interface in org.apache.logging.log4j.core">StringLayout</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/StringLayout.html" title="interface in org.apache.logging.log4j.core">StringLayout</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Legacy interface from when layouts used to support more than strings or bytes.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StringMatchFilter.html" title="class in org.apache.logging.log4j.core.filter">StringMatchFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StringMatchFilter.html" title="class in org.apache.logging.log4j.core.filter">StringMatchFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This filter returns the onMatch result if the message in the event matches the specified text
  exactly.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StringMatchFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">StringMatchFilter.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/lookup/StrLookup.html" title="interface in org.apache.logging.log4j.core.lookup">StrLookup</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StringMatchFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">StringMatchFilter.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/lookup/StrLookup.html" title="interface in org.apache.logging.log4j.core.lookup">StrLookup</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Lookup a String key to a String value.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StrMatcher.html" title="class in org.apache.logging.log4j.core.lookup">StrMatcher</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StrMatcher.html" title="class in org.apache.logging.log4j.core.lookup">StrMatcher</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">A matcher class that can be queried to determine if a character array
  portion matches.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">StrSubstitutor</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">StrSubstitutor</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Substitutes variables within a string by values.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StructuredDataFilter.html" title="class in org.apache.logging.log4j.core.filter">StructuredDataFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/StructuredDataFilter.html" title="class in org.apache.logging.log4j.core.filter">StructuredDataFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Filter based on data in a StructuredDataMessage.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StructuredDataLookup.html" title="class in org.apache.logging.log4j.core.lookup">StructuredDataLookup</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/StructuredDataLookup.html" title="class in org.apache.logging.log4j.core.lookup">StructuredDataLookup</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Looks up keys from <code>StructuredDataMessage</code> log messages.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/StyleConverter.html" title="class in org.apache.logging.log4j.core.pattern">StyleConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/StyleConverter.html" title="class in org.apache.logging.log4j.core.pattern">StyleConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Style pattern converter.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SyslogAppender.html" title="class in org.apache.logging.log4j.core.appender">SyslogAppender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SyslogAppender.html" title="class in org.apache.logging.log4j.core.appender">SyslogAppender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">The Syslog Appender.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">SyslogAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="type parameter in SyslogAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="class in org.apache.logging [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/SyslogLayout.html" title="class in org.apache.logging.log4j.core.layout">SyslogLayout</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">SyslogAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="type parameter in SyslogAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/SyslogAppender.Builder.html" title="class in org.apache.loggin [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/SyslogLayout.html" title="class in org.apache.logging.log4j.core.layout">SyslogLayout</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats a log event as a BSD Log record.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="class in org.apache.logging.log4j.core.layout">SyslogLayout.Builder</a>&lt;<a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="type parameter in SyslogLayout.Builder">B</a> extends <a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="class in org.apache.logging.log4j.core.layout [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="class in org.apache.logging.log4j.core.layout">SyslogLayout.Builder</a>&lt;<a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="type parameter in SyslogLayout.Builder">B</a> extends <a href="org/apache/logging/log4j/core/layout/SyslogLayout.Builder.html" title="class in org.apache.logging.log4j.core.layou [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builds a SyslogLayout.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/time/SystemNanoClock.html" title="class in org.apache.logging.log4j.core.time">SystemNanoClock</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/time/SystemNanoClock.html" title="class in org.apache.logging.log4j.core.time">SystemNanoClock</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Implementation of the <code>NanoClock</code> interface that returns the system nano time.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/SystemPropertiesLookup.html" title="class in org.apache.logging.log4j.core.lookup">SystemPropertiesLookup</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/SystemPropertiesLookup.html" title="class in org.apache.logging.log4j.core.lookup">SystemPropertiesLookup</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Looks up keys from system properties.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SystemPropertyArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">SystemPropertyArbiter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SystemPropertyArbiter.html" title="class in org.apache.logging.log4j.core.config.arbiters">SystemPropertyArbiter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Condition that determines if the specified property is set.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SystemPropertyArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">SystemPropertyArbiter.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/arbiters/SystemPropertyArbiter.Builder.html" title="class in org.apache.logging.log4j.core.config.arbiters">SystemPropertyArbiter.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Manager of TCP Socket connections.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.HostResolver.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager.HostResolver</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.TcpSocketManagerFactory.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager.TcpSocketManagerFactory</a>&lt;<a href="org/apache/logging/log4j/core/net/TcpSocketManager.TcpSocketManagerFactory.html" title="type parameter in TcpSocketManager.TcpSocketManagerFactory">M</a> extends <a href="org/apache/logging/log4j/core/net/TcpSocketM [...]
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.HostResolver.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager.HostResolver</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/TcpSocketManager.TcpSocketManagerFactory.html" title="class in org.apache.logging.log4j.core.net">TcpSocketManager.TcpSocketManagerFactory</a>&lt;<a href="org/apache/logging/log4j/core/net/TcpSocketManager.TcpSocketManagerFactory.html" title="type parameter in TcpSocketManager.TcpSocketManagerFactory">M</a> extends <a href="org/apache/logging/log4j/core/net/TcpSocketMa [...]
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory to create a TcpSocketManager.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/TextEncoderHelper.html" title="class in org.apache.logging.log4j.core.layout">TextEncoderHelper</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/layout/TextEncoderHelper.html" title="class in org.apache.logging.log4j.core.layout">TextEncoderHelper</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Helper class to encode text to binary data without allocating temporary objects.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/pattern/TextRenderer.html" title="interface in org.apache.logging.log4j.core.pattern">TextRenderer</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/pattern/TextRenderer.html" title="interface in org.apache.logging.log4j.core.pattern">TextRenderer</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Renders an input to an output.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block"><code>ThreadContextDataInjector</code> contains a number of strategies for copying key-value pairs from the various
- <code>ThreadContext</code> map implementations into a <code>StringMap</code>.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></div>
 <div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">ContextDataProvider for ThreadContext data.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Filter based on a value in the Thread Context Map (MDC).</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadIdPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadIdPatternConverter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadIdPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadIdPatternConverter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the event thread ID.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadNamePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadNamePatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadNamePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadNamePatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the event thread name.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadPriorityPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadPriorityPatternConverter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThreadPriorityPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThreadPriorityPatternConverter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the event thread priority.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThresholdFilter.html" title="class in org.apache.logging.log4j.core.filter">ThresholdFilter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/ThresholdFilter.html" title="class in org.apache.logging.log4j.core.filter">ThresholdFilter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">This filter returns the onMatch result if the level in the LogEvent is the same or more specific
  than the configured level and the onMismatch value otherwise.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThrowableFormatOptions.html" title="class in org.apache.logging.log4j.core.impl">ThrowableFormatOptions</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThrowableFormatOptions.html" title="class in org.apache.logging.log4j.core.impl">ThrowableFormatOptions</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Contains options which control how a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><code>Throwable</code></a> pattern is formatted.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThrowablePatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">ThrowablePatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Outputs the Throwable portion of the LoggingEvent as a full stack trace
  unless this converter's option is 'short', where it just outputs the first line of the trace, or if
  the number of lines to print is explicitly specified.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/impl/ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Wraps a Throwable to add packaging information about each stack trace element.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Throwables.html" title="class in org.apache.logging.log4j.core.util">Throwables</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Throwables.html" title="class in org.apache.logging.log4j.core.util">Throwables</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Helps with Throwable objects.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">TimeBasedTriggeringPolicy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">TimeBasedTriggeringPolicy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Rolls a file over based on time.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.Builder.html" title="class in org.apache.logging.log4j.core.appender.rolling">TimeBasedTriggeringPolicy.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/TimeFilter.html" title="class in org.apache.logging.log4j.core.filter">TimeFilter</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.Builder.html" title="class in org.apache.logging.log4j.core.appender.rolling">TimeBasedTriggeringPolicy.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/TimeFilter.html" title="class in org.apache.logging.log4j.core.filter">TimeFilter</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Filters events that fall within a specified time period in each day.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/TimeFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">TimeFilter.Builder</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/TlsSyslogFrame.html" title="class in org.apache.logging.log4j.core.appender">TlsSyslogFrame</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/filter/TimeFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">TimeFilter.Builder</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/TlsSyslogFrame.html" title="class in org.apache.logging.log4j.core.appender">TlsSyslogFrame</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Wraps messages that are formatted according to RFC 5425.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Transform.html" title="class in org.apache.logging.log4j.core.util">Transform</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/Transform.html" title="class in org.apache.logging.log4j.core.util">Transform</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Utility class for transforming strings.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/appender/rolling/TriggeringPolicy.html" title="interface in org.apache.logging.log4j.core.appender.rolling">TriggeringPolicy</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/appender/rolling/TriggeringPolicy.html" title="interface in org.apache.logging.log4j.core.appender.rolling">TriggeringPolicy</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
 <div class="block">A <code>TriggeringPolicy</code> controls the conditions under which rollover
  occurs.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">TrustStoreConfiguration</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">TrustStoreConfiguration</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Configuration of the TrustStore</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">TrustStoreConfigurationException</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/TypeUtil.html" title="class in org.apache.logging.log4j.core.util">TypeUtil</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfigurationException.html" title="class in org.apache.logging.log4j.core.net.ssl">TrustStoreConfigurationException</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/TypeUtil.html" title="class in org.apache.logging.log4j.core.util">TypeUtil</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Utility class for working with Java <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/Type.html" title="class or interface in java.lang.reflect" class="external-link"><code>Type</code></a>s and derivatives.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/UpperLookup.html" title="class in org.apache.logging.log4j.core.lookup">UpperLookup</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/lookup/UpperLookup.html" title="class in org.apache.logging.log4j.core.lookup">UpperLookup</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Converts values to upper case.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/URIConfigurationFactory.html" title="interface in org.apache.logging.log4j.core.config">URIConfigurationFactory</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/config/URIConfigurationFactory.html" title="interface in org.apache.logging.log4j.core.config">URIConfigurationFactory</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Creates configuration from an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link"><code>URI</code></a>.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/UrlConnectionFactory.html" title="class in org.apache.logging.log4j.core.net">UrlConnectionFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/net/UrlConnectionFactory.html" title="class in org.apache.logging.log4j.core.net">UrlConnectionFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Constructs an HTTPURLConnection.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/UuidPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">UuidPatternConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/UuidPatternConverter.html" title="class in org.apache.logging.log4j.core.pattern">UuidPatternConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Formats the event sequence number.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/UuidUtil.html" title="class in org.apache.logging.log4j.core.util">UuidUtil</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/UuidUtil.html" title="class in org.apache.logging.log4j.core.util">UuidUtil</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Generates a unique ID.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.html" title="class in org.apache.logging.log4j.core.pattern">VariablesNotEmptyReplacementConverter</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.html" title="class in org.apache.logging.log4j.core.pattern">VariablesNotEmptyReplacementConverter</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">VariablesNotEmpty pattern converter.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/Version.html" title="class in org.apache.logging.log4j.core">Version</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Watcher.html" title="interface in org.apache.logging.log4j.core.util">Watcher</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/Version.html" title="class in org.apache.logging.log4j.core">Version</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/Watcher.html" title="interface in org.apache.logging.log4j.core.util">Watcher</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
 <div class="block">Watches for changes in a Source and performs an action when it is modified.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WatcherFactory.html" title="class in org.apache.logging.log4j.core.util">WatcherFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WatcherFactory.html" title="class in org.apache.logging.log4j.core.util">WatcherFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Creates Watchers of various types.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/WatchEventService.html" title="interface in org.apache.logging.log4j.core.util">WatchEventService</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WatchManager.html" title="class in org.apache.logging.log4j.core.util">WatchManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="org/apache/logging/log4j/core/util/WatchEventService.html" title="interface in org.apache.logging.log4j.core.util">WatchEventService</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WatchManager.html" title="class in org.apache.logging.log4j.core.util">WatchManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Manages <a href="org/apache/logging/log4j/core/util/FileWatcher.html" title="interface in org.apache.logging.log4j.core.util"><code>FileWatcher</code></a>s.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WrappedFileWatcher.html" title="class in org.apache.logging.log4j.core.util">WrappedFileWatcher</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterAppender.html" title="class in org.apache.logging.log4j.core.appender">WriterAppender</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/util/WrappedFileWatcher.html" title="class in org.apache.logging.log4j.core.util">WrappedFileWatcher</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterAppender.html" title="class in org.apache.logging.log4j.core.appender">WriterAppender</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Appends log events to a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Writer.html" title="class or interface in java.io" class="external-link"><code>Writer</code></a>.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">WriterAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="type parameter in WriterAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="class in org.apache.logging [...]
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="class in org.apache.logging.log4j.core.appender">WriterAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="type parameter in WriterAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/core/appender/WriterAppender.Builder.html" title="class in org.apache.loggin [...]
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Builds WriterAppender instances.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterManager.html" title="class in org.apache.logging.log4j.core.appender">WriterManager</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/WriterManager.html" title="class in org.apache.logging.log4j.core.appender">WriterManager</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Manages a Writer so that it can be shared by multiple Appenders and will
  allow appenders to reconfigure without requiring a new writer.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/xml/XmlConfiguration.html" title="class in org.apache.logging.log4j.core.config.xml">XmlConfiguration</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/xml/XmlConfiguration.html" title="class in org.apache.logging.log4j.core.config.xml">XmlConfiguration</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Creates a Node hierarchy from an XML file.</div>
 </div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/xml/XmlConfigurationFactory.html" title="class in org.apache.logging.log4j.core.config.xml">XmlConfigurationFactory</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/config/xml/XmlConfigurationFactory.html" title="class in org.apache.logging.log4j.core.config.xml">XmlConfigurationFactory</a></div>
+<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Factory to construct an XmlConfiguration.</div>
 </div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/ZipCompressAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">ZipCompressAction</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
+<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="org/apache/logging/log4j/core/appender/rolling/action/ZipCompressAction.html" title="class in org.apache.logging.log4j.core.appender.rolling.action">ZipCompressAction</a></div>
+<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
 <div class="block">Compresses a file using Zip compression.</div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/allpackages-index.html b/javadoc/log4j-core/allpackages-index.html
index 4b7f8d779e..43fadd3e30 100644
--- a/javadoc/log4j-core/allpackages-index.html
+++ b/javadoc/log4j-core/allpackages-index.html
@@ -144,42 +144,46 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color">
 <div class="block">Log4j 2 private implementation classes.</div>
 </div>
-<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/layout/package-summary.html">org.apache.logging.log4j.core.layout</a></div>
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
 <div class="col-last odd-row-color">
-<div class="block">Log4j 2 Layout support.</div>
+<div class="block">Log4j 2 private implementation classes.</div>
 </div>
-<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/lookup/package-summary.html">org.apache.logging.log4j.core.lookup</a></div>
+<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/layout/package-summary.html">org.apache.logging.log4j.core.layout</a></div>
 <div class="col-last even-row-color">
-<div class="block">Log4j 2 Lookups.</div>
+<div class="block">Log4j 2 Layout support.</div>
 </div>
-<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/net/package-summary.html">org.apache.logging.log4j.core.net</a></div>
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/lookup/package-summary.html">org.apache.logging.log4j.core.lookup</a></div>
 <div class="col-last odd-row-color">
-<div class="block">Log4j 2 network support.</div>
+<div class="block">Log4j 2 Lookups.</div>
 </div>
-<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/net/ssl/package-summary.html">org.apache.logging.log4j.core.net.ssl</a></div>
+<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/net/package-summary.html">org.apache.logging.log4j.core.net</a></div>
 <div class="col-last even-row-color">
-<div class="block">Log4j 2 SSL support</div>
+<div class="block">Log4j 2 network support.</div>
 </div>
-<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/pattern/package-summary.html">org.apache.logging.log4j.core.pattern</a></div>
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/net/ssl/package-summary.html">org.apache.logging.log4j.core.net.ssl</a></div>
 <div class="col-last odd-row-color">
-<div class="block">Provides classes implementing format specifiers in conversion patterns.</div>
+<div class="block">Log4j 2 SSL support</div>
 </div>
-<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/script/package-summary.html">org.apache.logging.log4j.core.script</a></div>
+<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/pattern/package-summary.html">org.apache.logging.log4j.core.pattern</a></div>
 <div class="col-last even-row-color">
-<div class="block">Log4j 2 Script support.</div>
+<div class="block">Provides classes implementing format specifiers in conversion patterns.</div>
 </div>
-<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/selector/package-summary.html">org.apache.logging.log4j.core.selector</a></div>
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/script/package-summary.html">org.apache.logging.log4j.core.script</a></div>
 <div class="col-last odd-row-color">
+<div class="block">Log4j 2 Script support.</div>
+</div>
+<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/selector/package-summary.html">org.apache.logging.log4j.core.selector</a></div>
+<div class="col-last even-row-color">
 <div class="block">Log4j 2 Context Selectors.</div>
 </div>
-<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/time/package-summary.html">org.apache.logging.log4j.core.time</a></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/util/package-summary.html">org.apache.logging.log4j.core.util</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/time/package-summary.html">org.apache.logging.log4j.core.time</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/util/package-summary.html">org.apache.logging.log4j.core.util</a></div>
+<div class="col-last even-row-color">
 <div class="block">Log4j 2 helper classes.</div>
 </div>
-<div class="col-first even-row-color"><a href="org/apache/logging/log4j/core/util/datetime/package-summary.html">org.apache.logging.log4j.core.util.datetime</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="org/apache/logging/log4j/core/util/datetime/package-summary.html">org.apache.logging.log4j.core.util.datetime</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Log4j 2 date formatting classes.</div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/element-list b/javadoc/log4j-core/element-list
index 60729dd708..be3ff93ae3 100644
--- a/javadoc/log4j-core/element-list
+++ b/javadoc/log4j-core/element-list
@@ -21,6 +21,7 @@ org.apache.logging.log4j.core.config.xml
 org.apache.logging.log4j.core.filter
 org.apache.logging.log4j.core.filter.mutable
 org.apache.logging.log4j.core.impl
+org.apache.logging.log4j.core.impl.internal
 org.apache.logging.log4j.core.layout
 org.apache.logging.log4j.core.lookup
 org.apache.logging.log4j.core.net
diff --git a/javadoc/log4j-core/index-all.html b/javadoc/log4j-core/index-all.html
index 6504cfab94..3ced559fd9 100644
--- a/javadoc/log4j-core/index-all.html
+++ b/javadoc/log4j-core/index-all.html
@@ -384,6 +384,10 @@ loadScripts(document, 'script');</script>
  file system actions for RollingFileAppenders after the close of
  the active log file.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/Activator.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a> - Class in <a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/Activator.html#%3Cinit%3E()" class="member-name-link">Activator()</a> - Constructor for class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/Activator.html" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/AppenderControlArraySet.html#add(org.apache.logging.log4j.core.config.AppenderControl)" class="member-name-link">add(AppenderControl)</a> - Method in class org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/AppenderControlArraySet.html" title="class in org.apache.logging.log4j.core.config">AppenderControlArraySet</a></dt>
 <dd>
 <div class="block">Adds an AppenderControl to this set.</div>
@@ -452,6 +456,26 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Keys should be added.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#addAll(java.util.Map)" class="member-name-link">addAll(Map&lt;String, String&gt;)</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
+<dd>
+<div class="block">Populates the provided Map with data from the Context.</div>
+</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html#addAll(java.util.Map)" class="member-name-link">addAll(Map&lt;String, String&gt;)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html#addAll(java.util.Map)" class="member-name-link">addAll(Map&lt;String, String&gt;)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#addAll(java.util.Map)" class="member-name-link">addAll(Map&lt;String, String&gt;)</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
+<dd>
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#addAll(org.apache.logging.log4j.util.StringMap)" class="member-name-link">addAll(StringMap)</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
+<dd>
+<div class="block">Populates the provided StringMap with data from the Context.</div>
+</dd>
+<dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#addAll(org.apache.logging.log4j.util.StringMap)" class="member-name-link">addAll(StringMap)</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
+<dd>
+<div class="block">Add all the keys in the current context to the provided StringMap.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/config/AbstractConfiguration.html#addAppender(org.apache.logging.log4j.core.Appender)" class="member-name-link">addAppender(Appender)</a> - Method in class org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/AbstractConfiguration.html" title="class in org.apache.logging.log4j.core.config">AbstractConfiguration</a></dt>
 <dd>
 <div class="block">Adds an Appender to the configuration.</div>
@@ -574,6 +598,8 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html#addProperty(java.lang.String,java.lang.String)" class="member-name-link">addProperty(String, String)</a> - Method in class org.apache.logging.log4j.core.config.builder.impl.<a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html" title="class in org.apache.logging.log4j.core.config.builder.impl">DefaultConfigurationBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#addProvider(org.apache.logging.log4j.core.util.ContextDataProvider)" class="member-name-link">addProvider(ContextDataProvider)</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/appender/rolling/RollingFileManager.html#addRolloverListener(org.apache.logging.log4j.core.appender.rolling.RolloverListener)" class="member-name-link">addRolloverListener(RolloverListener)</a> - Method in class org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/RollingFileManager.html" title="class in org.apache.logging.log4j.core.appender.rolling">RollingFileManager</a></dt>
 <dd>
 <div class="block">Add a RolloverListener.</div>
@@ -584,6 +610,10 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html#addRootProperty(java.lang.String,java.lang.String)" class="member-name-link">addRootProperty(String, String)</a> - Method in class org.apache.logging.log4j.core.config.builder.impl.<a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html" title="class in org.apache.logging.log4j.core.config.builder.impl">DefaultConfigurationBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html#addScopedContext(org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance)" class="member-name-link">addScopedContext(AbstractScopedContextProvider.MapInstance)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedC [...]
+<dd>
+<div class="block">Add the ScopeContext.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/script/ScriptManager.html#addScript(org.apache.logging.log4j.core.script.Script)" class="member-name-link">addScript(Script)</a> - Method in interface org.apache.logging.log4j.core.script.<a href="org/apache/logging/log4j/core/script/ScriptManager.html" title="interface in org.apache.logging.log4j.core.script">ScriptManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/script/ScriptManager.html#addScripts(org.apache.logging.log4j.plugins.Node)" class="member-name-link">addScripts(Node)</a> - Method in interface org.apache.logging.log4j.core.script.<a href="org/apache/logging/log4j/core/script/ScriptManager.html" title="interface in org.apache.logging.log4j.core.script">ScriptManager</a></dt>
@@ -1894,21 +1924,15 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Returns the value of the <a href="./org/apache/logging/log4j/core/impl/CoreProperties.LogEventProperties.html#param-contextData"><code>contextData</code></a> record component.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ContextDataFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextData</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
 <dd>
-<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="org/apache/logging/log4j/core/LogEvent.html#getContextData()">context data</a>.</div>
+<div class="block">General purpose utility class for accessing data accessible through ContextDataProviders.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/ContextDataInjector.html" class="type-name-link" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a> - Interface in <a href="org/apache/logging/log4j/core/package-summary.html">org.apache.logging.log4j.core</a></dt>
-<dd>
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextDataFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
 <dd>
-<div class="block">Factory for ContextDataInjectors.</div>
+<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="org/apache/logging/log4j/core/LogEvent.html#getContextData()">context data</a>.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html#%3Cinit%3E()" class="member-name-link">ContextDataInjectorFactory()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html#%3Cinit%3E(java.lang.Class,java.lang.Class)" class="member-name-link">ContextDataProperties(Class&lt;? extends StringMap&gt;, Class&lt;? extends ContextDataInjector&gt;)</a> - Constructor for record class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html" title="class in org.apache.logging.log4j.core.impl">CoreProperties.ContextD [...]
+<dt><a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html#%3Cinit%3E(java.lang.Class)" class="member-name-link">ContextDataProperties(Class&lt;? extends StringMap&gt;)</a> - Constructor for record class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html" title="class in org.apache.logging.log4j.core.impl">CoreProperties.ContextDataProperties</a></dt>
 <dd>
 <div class="block">Creates an instance of a <code>ContextDataProperties</code> record class.</div>
 </dd>
@@ -1916,9 +1940,9 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Source of context data to be added to each log event.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html#contextDataProviders" class="member-name-link">contextDataProviders</a> - Static variable in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dt>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#contextDataProviders" class="member-name-link">contextDataProviders</a> - Static variable in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
 <dd>
-<div class="block">ContextDataProviders loaded externally.</div>
+<div class="block">ContextDataProviders loaded via OSGi.</div>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html#contextMap" class="member-name-link">contextMap</a> - Variable in class org.apache.logging.log4j.core.selector.<a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html" title="class in org.apache.logging.log4j.core.selector">ClassLoaderContextSelector</a></dt>
 <dd>&nbsp;</dd>
@@ -1984,10 +2008,6 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Copies the given input.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">copyProperties(List&lt;Property&gt;, StringMap)</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dt>
-<dd>
-<div class="block">Copies key-value pairs from the specified property list into the specified <code>StringMap</code>.</div>
-</dd>
 <dt><a href="org/apache/logging/log4j/core/Core.html" class="type-name-link" title="class in org.apache.logging.log4j.core">Core</a> - Class in <a href="org/apache/logging/log4j/core/package-summary.html">org.apache.logging.log4j.core</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/Core.html#%3Cinit%3E()" class="member-name-link">Core()</a> - Constructor for class org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/Core.html" title="class in org.apache.logging.log4j.core">Core</a></dt>
@@ -2312,11 +2332,6 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Creates a CompositeFilter.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html#createInjector()" class="member-name-link">createInjector()</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></dt>
-<dd>
-<div class="block">Returns a new <code>ContextDataInjector</code> instance based on the value of system property
- <code>log4j2.ContextDataInjector</code>.</div>
-</dd>
 <dt><a href="org/apache/logging/log4j/core/LoggerContext.Builder.html#createInstanceFactory()" class="member-name-link">createInstanceFactory()</a> - Method in class org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/LoggerContext.Builder.html" title="class in org.apache.logging.log4j.core">LoggerContext.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.html#createKeyStoreConfiguration(java.lang.String,char%5B%5D,java.lang.String,java.nio.file.Path,java.lang.String,java.lang.String)" class="member-name-link">createKeyStoreConfiguration(String, char[], String, Path, String, String)</a> - Static method in class org.apache.logging.log4j.core.net.ssl.<a href="org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.html" title="class in org.apache.logging.log4j.core [...]
@@ -2775,8 +2790,6 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html#defaultContext" class="member-name-link">defaultContext</a> - Variable in class org.apache.logging.log4j.core.selector.<a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html" title="class in org.apache.logging.log4j.core.selector">ClassLoaderContextSelector</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html#defaultContextDataInjector()" class="member-name-link">defaultContextDataInjector()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html" title="class in org.apache.logging.log4j.core.impl">CoreDefaultBundle</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html#defaultContextName()" class="member-name-link">defaultContextName()</a> - Method in class org.apache.logging.log4j.core.selector.<a href="org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.html" title="class in org.apache.logging.log4j.core.selector">ClassLoaderContextSelector</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html#defaultContextSelector(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">defaultContextSelector(ConfigurableInstanceFactory)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html" title="class in org.apache.logging.log4j.core.impl">CoreDefaultBundle</a></dt>
@@ -4335,18 +4348,12 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">The footer to add when the stream is closed.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html#%3Cinit%3E()" class="member-name-link">ForCopyOnWriteThreadContextMap()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html#%3Cinit%3E()" class="member-name-link">ForDefaultThreadContextMap()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html#forEach(org.apache.logging.log4j.util.BiConsumer)" class="member-name-link">forEach(BiConsumer&lt;String, ? super V&gt;)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html" title="class in org.apache.logging.log4j.core.impl">JdkMapAdapterStringMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html#forEach(org.apache.logging.log4j.util.TriConsumer,S)" class="member-name-link">forEach(TriConsumer&lt;String, ? super V, S&gt;, S)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html" title="class in org.apache.logging.log4j.core.impl">JdkMapAdapterStringMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/MutableLogEvent.html#forEachParameter(org.apache.logging.log4j.message.ParameterConsumer,S)" class="member-name-link">forEachParameter(ParameterConsumer&lt;S&gt;, S)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/MutableLogEvent.html" title="class in org.apache.logging.log4j.core.impl">MutableLogEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html#%3Cinit%3E()" class="member-name-link">ForGarbageFreeThreadContextMap()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/FormattingInfo.html#format(int,java.lang.StringBuilder)" class="member-name-link">format(int, StringBuilder)</a> - Method in class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/FormattingInfo.html" title="class in org.apache.logging.log4j.core.pattern">FormattingInfo</a></dt>
 <dd>
 <div class="block">Adjust the content of the buffer based on the specified lengths and alignment.</div>
@@ -4760,6 +4767,14 @@ loadScripts(document, 'script');</script>
 &nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/CronScheduledFuture.html#get(long,java.util.concurrent.TimeUnit)" class="member-name-link">get(long, TimeUnit)</a> - Method in class org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/CronScheduledFuture.html" title="class in org.apache.logging.log4j.core.config">CronScheduledFuture</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html#get(java.lang.String)" class="member-name-link">get(String)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html#get(java.lang.String)" class="member-name-link">get(String)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#get(java.lang.String)" class="member-name-link">get(String)</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
+<dd>
+<div class="block">Returns the key for a value from the context data.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/time/MutableInstant.html#get(java.time.temporal.TemporalField)" class="member-name-link">get(TemporalField)</a> - Method in class org.apache.logging.log4j.core.time.<a href="org/apache/logging/log4j/core/time/MutableInstant.html" title="class in org.apache.logging.log4j.core.time">MutableInstant</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/NameAbbreviator.html#getAbbreviator(java.lang.String)" class="member-name-link">getAbbreviator(String)</a> - Static method in class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/NameAbbreviator.html" title="class in org.apache.logging.log4j.core.pattern">NameAbbreviator</a></dt>
@@ -5204,6 +5219,10 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/layout/HtmlLayout.html#getContentType()" class="member-name-link">getContentType()</a> - Method in class org.apache.logging.log4j.core.layout.<a href="org/apache/logging/log4j/core/layout/HtmlLayout.html" title="class in org.apache.logging.log4j.core.layout">HtmlLayout</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html#getContext()" class="member-name-link">getContext()</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></dt>
+<dd>
+<div class="block">Returns an immutable Map containing all the key/value pairs as Object objects.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/Logger.Builder.html#getContext()" class="member-name-link">getContext()</a> - Method in class org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/Logger.Builder.html" title="class in org.apache.logging.log4j.core">Logger.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/Logger.html#getContext()" class="member-name-link">getContext()</a> - Method in class org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/Logger.html" title="class in org.apache.logging.log4j.core">Logger</a></dt>
@@ -6789,6 +6808,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/Configuration.html#getScheduler()" class="member-name-link">getScheduler()</a> - Method in interface org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/Configuration.html" title="interface in org.apache.logging.log4j.core.config">Configuration</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/Log4jProvider.html#getScopedContextProvider()" class="member-name-link">getScopedContextProvider()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/Log4jProvider.html" title="class in org.apache.logging.log4j.core.impl">Log4jProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/script/ScriptManager.html#getScript(java.lang.String)" class="member-name-link">getScript(String)</a> - Method in interface org.apache.logging.log4j.core.script.<a href="org/apache/logging/log4j/core/script/ScriptManager.html" title="interface in org.apache.logging.log4j.core.script">ScriptManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/AbstractConfiguration.html#getScriptManager()" class="member-name-link">getScriptManager()</a> - Method in class org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/AbstractConfiguration.html" title="class in org.apache.logging.log4j.core.config">AbstractConfiguration</a></dt>
@@ -7257,6 +7278,8 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Returns the value.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#getValue(java.lang.String)" class="member-name-link">getValue(String)</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html#getValue(java.lang.String)" class="member-name-link">getValue(String)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html" title="class in org.apache.logging.log4j.core.impl">JdkMapAdapterStringMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/lookup/StrSubstitutor.html#getValueDelimiterMatcher()" class="member-name-link">getValueDelimiterMatcher()</a> - Method in class org.apache.logging.log4j.core.lookup.<a href="org/apache/logging/log4j/core/lookup/StrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">StrSubstitutor</a></dt>
@@ -7807,30 +7830,6 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.html#initTrustManagerFactory()" class="member-name-link">initTrustManagerFactory()</a> - Method in class org.apache.logging.log4j.core.net.ssl.<a href="org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.html" title="class in org.apache.logging.log4j.core.net.ssl">TrustStoreConfiguration</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/ContextDataInjector.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData(List&lt;Property&gt;, StringMap)</a> - Method in interface org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></dt>
-<dd>
-<div class="block">Returns a <code>StringMap</code> object initialized with the specified properties and the appropriate
- context data.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData(List&lt;Property&gt;, StringMap)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDa [...]
-<dd>
-<div class="block">If there are no configuration properties, this injector will return the thread context's internal data
- structure.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData(List&lt;Property&gt;, StringMap)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInject [...]
-<dd>
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData(List&lt;Property&gt;, StringMap)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDa [...]
-<dd>
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html#injector()" class="member-name-link">injector()</a> - Method in record class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html" title="class in org.apache.logging.log4j.core.impl">CoreProperties.ContextDataProperties</a></dt>
-<dd>
-<div class="block">Returns the value of the <a href="./org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html#param-injector"><code>injector</code></a> record component.</div>
-</dd>
 <dt><a href="org/apache/logging/log4j/core/appender/nosql/NoSqlConnection.html#insertObject(org.apache.logging.log4j.core.appender.nosql.NoSqlObject)" class="member-name-link">insertObject(NoSqlObject&lt;W&gt;)</a> - Method in interface org.apache.logging.log4j.core.appender.nosql.<a href="org/apache/logging/log4j/core/appender/nosql/NoSqlConnection.html" title="interface in org.apache.logging.log4j.core.appender.nosql">NoSqlConnection</a></dt>
 <dd>
 <div class="block">Inserts the given object into the underlying NoSQL database.</div>
@@ -7843,6 +7842,8 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/filter/NeutralFilter.html#INSTANCE" class="member-name-link">INSTANCE</a> - Static variable in class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/log4j/core/filter/NeutralFilter.html" title="class in org.apache.logging.log4j.core.filter">NeutralFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html#INSTANCE" class="member-name-link">INSTANCE</a> - Static variable in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.html#INSTANCE" class="member-name-link">INSTANCE</a> - Static variable in class org.apache.logging.log4j.core.net.ssl.<a href="org/apache/logging/log4j/core/net/ssl/LaxHostnameVerifier.html" title="class in org.apache.logging.log4j.core.net.ssl">LaxHostnameVerifier</a></dt>
 <dd>
 <div class="block">Singleton instance.</div>
@@ -8465,8 +8466,6 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/URIConfigurationFactory.html#KEY" class="member-name-link">KEY</a> - Static variable in interface org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/URIConfigurationFactory.html" title="interface in org.apache.logging.log4j.core.config">URIConfigurationFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/ContextDataInjector.html#KEY" class="member-name-link">KEY</a> - Static variable in interface org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/LogEventFactory.html#KEY" class="member-name-link">KEY</a> - Static variable in interface org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/layout/PatternLayout.html#KEY" class="member-name-link">KEY</a> - Static variable in class org.apache.logging.log4j.core.layout.<a href="org/apache/logging/log4j/core/layout/PatternLayout.html" title="class in org.apache.logging.log4j.core.layout">PatternLayout</a></dt>
@@ -10158,6 +10157,34 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html#newLogger(java.lang.String,org.apache.logging.log4j.Level,boolean)" class="member-name-link">newLogger(String, Level, boolean)</a> - Method in class org.apache.logging.log4j.core.config.builder.impl.<a href="org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.html" title="class in org.apache.logging.log4j.core.config.builder.impl">DefaultConfigurationBuilder</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.CharSequence)" class="member-name-link">newMessage(CharSequence)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.Object)" class="member-name-link">newMessage(Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String)" class="member-name-link">newMessage(String)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object)" class="member-name-link">newMessage(String, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object...)" class="member-name-link">newMessage(String, Object...)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal" [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging. [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="cla [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessag [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/imp [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage(String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apac [...]
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html#newProperty(java.lang.String,java.lang.String)" class="member-name-link">newProperty(String, String)</a> - Method in interface org.apache.logging.log4j.core.config.builder.api.<a href="org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.html" title="interface in org.apache.logging.log4j.core.config.builder.api">ConfigurationBuilder</a></dt>
 <dd>
 <div class="block">Returns a builder for creating Property:s</div>
@@ -10466,6 +10493,10 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Log4j 2 private implementation classes.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a> - package org.apache.logging.log4j.core.impl.internal</dt>
+<dd>
+<div class="block">Log4j 2 private implementation classes.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/layout/package-summary.html">org.apache.logging.log4j.core.layout</a> - package org.apache.logging.log4j.core.layout</dt>
 <dd>
 <div class="block">Log4j 2 Layout support.</div>
@@ -10960,6 +10991,10 @@ loadScripts(document, 'script');</script>
 <dl class="index">
 <dt><a href="org/apache/logging/log4j/core/time/MutableInstant.html#query(java.time.temporal.TemporalQuery)" class="member-name-link">query(TemporalQuery&lt;R&gt;)</a> - Method in class org.apache.logging.log4j.core.time.<a href="org/apache/logging/log4j/core/time/MutableInstant.html" title="class in org.apache.logging.log4j.core.time">MutableInstant</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a> - Class in <a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html#%3Cinit%3E()" class="member-name-link">QueuedScopedContextProvider()</a> - Constructor for class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/CoreProperties.QueueFullPolicyProperties.html#%3Cinit%3E(java.lang.String,org.apache.logging.log4j.Level)" class="member-name-link">QueueFullPolicyProperties(String, Level)</a> - Constructor for record class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreProperties.QueueFullPolicyProperties.html" title="class in org.apache.logging.log4j.core.impl">CoreProperties.QueueFullPolicyProperties</a></dt>
 <dd>
 <div class="block">Creates an instance of a <code>QueueFullPolicyProperties</code> record class.</div>
@@ -10991,16 +11026,6 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/time/MutableInstant.html#range(java.time.temporal.TemporalField)" class="member-name-link">range(TemporalField)</a> - Method in class org.apache.logging.log4j.core.time.<a href="org/apache/logging/log4j/core/time/MutableInstant.html" title="class in org.apache.logging.log4j.core.time">MutableInstant</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/ContextDataInjector.html#rawContextData()" class="member-name-link">rawContextData()</a> - Method in interface org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></dt>
-<dd>
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html#rawContextData()" class="member-name-link">rawContextData()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html#rawContextData()" class="member-name-link">rawContextData()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html#rawContextData()" class="member-name-link">rawContextData()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/util/ExtensionLanguageMapping.html#RB" class="member-name-link">RB</a> - Enum constant in enum class org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ExtensionLanguageMapping.html" title="enum class in org.apache.logging.log4j.core.util">ExtensionLanguageMapping</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/layout/PatternMatch.Builder.html#readResolve()" class="member-name-link">readResolve()</a> - Method in class org.apache.logging.log4j.core.layout.<a href="org/apache/logging/log4j/core/layout/PatternMatch.Builder.html" title="class in org.apache.logging.log4j.core.layout">PatternMatch.Builder</a></dt>
@@ -11041,6 +11066,8 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html#recycle(org.apache.logging.log4j.core.LogEvent)" class="member-name-link">recycle(LogEvent)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#recycle(org.apache.logging.log4j.message.Message)" class="member-name-link">recycle(Message)</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.Red.html#%3Cinit%3E(java.util.List,java.lang.String)" class="member-name-link">Red(List&lt;PatternFormatter&gt;, String)</a> - Constructor for class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.Red.html" title="class in org.apache.logging.log4j.core.pattern">AbstractStyleNameConverter.Red</a></dt>
 <dd>
 <div class="block">Constructs the converter.</div>
@@ -11195,6 +11222,10 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Remove a RolloverListener.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html#removeScopedContext()" class="member-name-link">removeScopedContext()</a> - Method in class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></dt>
+<dd>
+<div class="block">Remove the top ScopeContext.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/HtmlTextRenderer.html#render(java.lang.StringBuilder,java.lang.StringBuilder)" class="member-name-link">render(StringBuilder, StringBuilder)</a> - Method in class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/HtmlTextRenderer.html" title="class in org.apache.logging.log4j.core.pattern">HtmlTextRenderer</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.html#render(java.lang.StringBuilder,java.lang.StringBuilder)" class="member-name-link">render(StringBuilder, StringBuilder)</a> - Method in class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.html" title="class in org.apache.logging.log4j.core.pattern">JAnsiTextRenderer</a></dt>
@@ -11469,13 +11500,19 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/ReusableLogEvent.html" class="type-name-link" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a> - Interface in <a href="org/apache/logging/log4j/core/package-summary.html">org.apache.logging.log4j.core</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory(ContextDataInjector, Clock, NanoClock, RecyclerFactory)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl [...]
+<dt><a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory(Clock, NanoClock, RecyclerFactory)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html" title="class in org.apache.logging.log4j.core. [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
 <dd>
 <div class="block">Garbage-free LogEventFactory that recycles mutable <a href="org/apache/logging/log4j/core/LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a> instances.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory(ContextDataInjector, Clock, NanoClock, RecyclerFactory)</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ [...]
+<dt><a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory(Clock, NanoClock, RecyclerFactory)</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" title="class in org.apache.logging.log4j. [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a> - Class in <a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></dt>
+<dd>
+<div class="block">Message factory that avoids allocating temporary objects where possible.</div>
+</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html#%3Cinit%3E(org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableMessageFactory(RecyclerFactory)</a> - Constructor for class org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/pattern/AnsiEscape.html#REVERSE" class="member-name-link">REVERSE</a> - Enum constant in enum class org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/AnsiEscape.html" title="enum class in org.apache.logging.log4j.core.pattern">AnsiEscape</a></dt>
 <dd>
@@ -11694,6 +11731,12 @@ loadScripts(document, 'script');</script>
 <div class="block">Creates and executes a periodic action that becomes enabled first after the given initial delay, and
  subsequently with the given delay between the termination of one execution and the commencement of the next.</div>
 </dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
+<dd>
+<div class="block">ContextDataProvider for <code>Map&lt;String, String&gt;</code> data.</div>
+</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html#%3Cinit%3E()" class="member-name-link">ScopedContextDataProvider()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/script/Script.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.script">Script</a> - Interface in <a href="org/apache/logging/log4j/core/script/package-summary.html">org.apache.logging.log4j.core.script</a></dt>
 <dd>
 <div class="block">Represents int</div>
@@ -12037,12 +12080,6 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/ReusableLogEvent.html#setContextData(org.apache.logging.log4j.util.StringMap)" class="member-name-link">setContextData(StringMap)</a> - Method in interface org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ReusableLogEvent.html" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector(ContextDataInjector)</a> - Method in class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector(ContextDataInjector)</a> - Method in class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector(ContextDataInjector)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/LoggerContext.Builder.html#setContextName(java.lang.String)" class="member-name-link">setContextName(String)</a> - Method in class org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/LoggerContext.Builder.html" title="class in org.apache.logging.log4j.core">LoggerContext.Builder</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html#setContextStack(org.apache.logging.log4j.ThreadContext.ContextStack)" class="member-name-link">setContextStack(ThreadContext.ContextStack)</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></dt>
@@ -13031,8 +13068,18 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/filter/CompositeFilter.html#size()" class="member-name-link">size()</a> - Method in class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/log4j/core/filter/CompositeFilter.html" title="class in org.apache.logging.log4j.core.filter">CompositeFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ContextData.html#size()" class="member-name-link">size()</a> - Static method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html#size()" class="member-name-link">size()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/JdkMapAdapterStringMap.html" title="class in org.apache.logging.log4j.core.impl">JdkMapAdapterStringMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html#size()" class="member-name-link">size()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html#size()" class="member-name-link">size()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#size()" class="member-name-link">size()</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
+<dd>
+<div class="block">Returns the number of items in this context.</div>
+</dd>
 <dt><a href="org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.rolling">SizeBasedTriggeringPolicy</a> - Class in <a href="org/apache/logging/log4j/core/appender/rolling/package-summary.html">org.apache.logging.log4j.core.appender.rolling</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.html#%3Cinit%3E()" class="member-name-link">SizeBasedTriggeringPolicy()</a> - Constructor for class org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.html" title="class in org.apache.logging.log4j.core.appender.rolling">SizeBasedTriggeringPolicy</a></dt>
@@ -13484,18 +13531,14 @@ loadScripts(document, 'script');</script>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.html#suffixLength(java.lang.String)" class="member-name-link">suffixLength(String)</a> - Method in class org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.html" title="class in org.apache.logging.log4j.core.appender.rolling">AbstractRolloverStrategy</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html#supplyContextData()" class="member-name-link">supplyContextData()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html#supplyContextData()" class="member-name-link">supplyContextData()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#supplyContextData()" class="member-name-link">supplyContextData()</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
 <dd>
 <div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html#supplyStringMap()" class="member-name-link">supplyStringMap()</a> - Method in class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/util/ContextDataProvider.html#supplyStringMap()" class="member-name-link">supplyStringMap()</a> - Method in interface org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></dt>
-<dd>
-<div class="block">Returns the context data as a StringMap.</div>
-</dd>
 <dt><a href="org/apache/logging/log4j/core/config/plugins/util/LegacyPluginNodeFactoryResolver.html#supportsKey(org.apache.logging.log4j.plugins.di.Key)" class="member-name-link">supportsKey(Key&lt;?&gt;)</a> - Method in class org.apache.logging.log4j.core.config.plugins.util.<a href="org/apache/logging/log4j/core/config/plugins/util/LegacyPluginNodeFactoryResolver.html" title="class in org.apache.logging.log4j.core.config.plugins.util">LegacyPluginNodeFactoryResolver</a></dt>
 <dd>
 <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
@@ -13605,28 +13648,6 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Anchor for the LoggerContext for the current Thread.</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
-<dd>
-<div class="block"><code>ThreadContextDataInjector</code> contains a number of strategies for copying key-value pairs from the various
- <code>ThreadContext</code> map implementations into a <code>StringMap</code>.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html#%3Cinit%3E()" class="member-name-link">ThreadContextDataInjector()</a> - Constructor for class org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
-<dd>
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
-<dd>
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).</div>
-</dd>
-<dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
-<dd>
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.</div>
-</dd>
 <dt><a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a> - Class in <a href="org/apache/logging/log4j/core/impl/package-summary.html">org.apache.logging.log4j.core.impl</a></dt>
 <dd>
 <div class="block">ContextDataProvider for ThreadContext data.</div>
@@ -13637,7 +13658,7 @@ loadScripts(document, 'script');</script>
 <dd>
 <div class="block">Filter based on a value in the Thread Context Map (MDC).</div>
 </dd>
-<dt><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">ThreadContextMapFilter(Map&lt;String, List&lt;String&gt;&gt;, boolean, Filter.Result, Filter.Result, ContextDataInjector)</a> - Constructor for class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/l [...]
+<dt><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result)" class="member-name-link">ThreadContextMapFilter(Map&lt;String, List&lt;String&gt;&gt;, boolean, Filter.Result, Filter.Result)</a> - Constructor for class org.apache.logging.log4j.core.filter.<a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html" title="class in org.apach [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html" class="type-name-link" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a> - Class in <a href="org/apache/logging/log4j/core/filter/package-summary.html">org.apache.logging.log4j.core.filter</a></dt>
 <dd>&nbsp;</dd>
diff --git a/javadoc/log4j-core/index.html b/javadoc/log4j-core/index.html
index 8a803da673..43eac87285 100644
--- a/javadoc/log4j-core/index.html
+++ b/javadoc/log4j-core/index.html
@@ -145,42 +145,46 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color all-packages-table all-packages-table-tab1">
 <div class="block">Log4j 2 private implementation classes.</div>
 </div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/layout/package-summary.html">org.apache.logging.log4j.core.layout</a></div>
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/impl/internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
 <div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Log4j 2 Layout support.</div>
+<div class="block">Log4j 2 private implementation classes.</div>
 </div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/lookup/package-summary.html">org.apache.logging.log4j.core.lookup</a></div>
+<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/layout/package-summary.html">org.apache.logging.log4j.core.layout</a></div>
 <div class="col-last even-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Log4j 2 Lookups.</div>
+<div class="block">Log4j 2 Layout support.</div>
 </div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/net/package-summary.html">org.apache.logging.log4j.core.net</a></div>
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/lookup/package-summary.html">org.apache.logging.log4j.core.lookup</a></div>
 <div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Log4j 2 network support.</div>
+<div class="block">Log4j 2 Lookups.</div>
 </div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/net/ssl/package-summary.html">org.apache.logging.log4j.core.net.ssl</a></div>
+<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/net/package-summary.html">org.apache.logging.log4j.core.net</a></div>
 <div class="col-last even-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Log4j 2 SSL support</div>
+<div class="block">Log4j 2 network support.</div>
 </div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/pattern/package-summary.html">org.apache.logging.log4j.core.pattern</a></div>
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/net/ssl/package-summary.html">org.apache.logging.log4j.core.net.ssl</a></div>
 <div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Provides classes implementing format specifiers in conversion patterns.</div>
+<div class="block">Log4j 2 SSL support</div>
 </div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/script/package-summary.html">org.apache.logging.log4j.core.script</a></div>
+<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/pattern/package-summary.html">org.apache.logging.log4j.core.pattern</a></div>
 <div class="col-last even-row-color all-packages-table all-packages-table-tab1">
-<div class="block">Log4j 2 Script support.</div>
+<div class="block">Provides classes implementing format specifiers in conversion patterns.</div>
 </div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/selector/package-summary.html">org.apache.logging.log4j.core.selector</a></div>
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/script/package-summary.html">org.apache.logging.log4j.core.script</a></div>
 <div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
+<div class="block">Log4j 2 Script support.</div>
+</div>
+<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/selector/package-summary.html">org.apache.logging.log4j.core.selector</a></div>
+<div class="col-last even-row-color all-packages-table all-packages-table-tab1">
 <div class="block">Log4j 2 Context Selectors.</div>
 </div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/time/package-summary.html">org.apache.logging.log4j.core.time</a></div>
-<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/util/package-summary.html">org.apache.logging.log4j.core.util</a></div>
-<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/time/package-summary.html">org.apache.logging.log4j.core.time</a></div>
+<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
+<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/util/package-summary.html">org.apache.logging.log4j.core.util</a></div>
+<div class="col-last even-row-color all-packages-table all-packages-table-tab1">
 <div class="block">Log4j 2 helper classes.</div>
 </div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/util/datetime/package-summary.html">org.apache.logging.log4j.core.util.datetime</a></div>
-<div class="col-last even-row-color all-packages-table all-packages-table-tab1">
+<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="org/apache/logging/log4j/core/util/datetime/package-summary.html">org.apache.logging.log4j.core.util.datetime</a></div>
+<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">
 <div class="block">Log4j 2 date formatting classes.</div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/member-search-index.js b/javadoc/log4j-core/member-search-index.js
index a0595a182c..5eb10dd644 100644
--- a/javadoc/log4j-core/member-search-index.js
+++ b/javadoc/log4j-core/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.logging.log4j.core.pattern","c":"NameAbbreviator","l":"abbreviate(String, StringBuilder)","u":"abbreviate(java.lang.String,java.lang.StringBuilder)"},{"p":"org.apache.logging.log4j.core.pattern","c":"NamePatternConverter","l":"abbreviate(String, StringBuilder)","u":"abbreviate(java.lang.String,java.lang.StringBuilder)"},{"p":"org.apache.logging.log4j.core.appender.rolling.action","c":"AbstractAction","l":"AbstractAction()","u":"%3Cinit%3E()"},{"p":"o [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.logging.log4j.core.pattern","c":"NameAbbreviator","l":"abbreviate(String, StringBuilder)","u":"abbreviate(java.lang.String,java.lang.StringBuilder)"},{"p":"org.apache.logging.log4j.core.pattern","c":"NamePatternConverter","l":"abbreviate(String, StringBuilder)","u":"abbreviate(java.lang.String,java.lang.StringBuilder)"},{"p":"org.apache.logging.log4j.core.appender.rolling.action","c":"AbstractAction","l":"AbstractAction()","u":"%3Cinit%3E()"},{"p":"o [...]
\ No newline at end of file
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/AbstractLogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/AbstractLogEvent.html
index 86bf2f3586..0aee82cc50 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/AbstractLogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/AbstractLogEvent.html
@@ -283,7 +283,7 @@ implements <a href="LogEvent.html" title="interface in org.apache.logging.log4j.
  Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
  included in all subsequent log events. The default source for context data is the <code>ThreadContext</code> (and
  <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution">properties</a>
- configured on the Logger that logged the event), but users can configure a custom <a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a>
+ configured on the Logger that logged the event), but users can configure a custom <a href="util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a>
  to inject key-value pairs from any arbitrary source.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
@@ -293,7 +293,6 @@ implements <a href="LogEvent.html" title="interface in org.apache.logging.log4j.
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/ContextDataInjector.html b/javadoc/log4j-core/org/apache/logging/log4j/core/ContextDataInjector.html
deleted file mode 100644
index 011085243e..0000000000
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/ContextDataInjector.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-<!-- Generated by javadoc (17) -->
-<title>ContextDataInjector (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core, interface: ContextDataInjector">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var evenRowColor = "even-row-color";
-var oddRowColor = "odd-row-color";
-var tableTab = "table-tab";
-var activeTableTab = "active-table-tab";
-var pathtoroot = "../../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top">
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ContextDataInjector.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html#class">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div>
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core</a></div>
-<h1 title="Interface ContextDataInjector" class="title">Interface ContextDataInjector</h1>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>All Known Implementing Classes:</dt>
-<dd><code><a href="impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></code>, <code><a href="impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></code>, <code><a href="impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title [...]
-</dl>
-<hr>
-<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ContextDataInjector</span></div>
-<div class="block">Responsible for initializing the context data of LogEvents. Context data is data that is set by the application to be
- included in all subsequent log events.
- <p><b>NOTE: It is no longer recommended that custom implementations of this interface be provided as it is
- difficult to do. Instead, provide a custom ContextDataProvider.</b></p>
- <p>
- The source of the context data is implementation-specific. The default source for context data is the ThreadContext.
- </p><p>
- In some asynchronous models, work may be delegated to several threads, while conceptually this work shares the same
- context. In such models, storing context data in <code>ThreadLocal</code> variables is not convenient or desirable.
- Users can configure the <code>ContextDataInjectorFactory</code> to provide custom <code>ContextDataInjector</code> objects,
- in order to initialize log events with context data from any arbitrary context.
- </p><p>
- When providing a custom <code>ContextDataInjector</code>, be aware that the <code>ContextDataInjectorFactory</code> may be
- invoked multiple times and the various components in Log4j that need access to context data may each have their own
- instance of <code>ContextDataInjector</code>.
- This includes the object(s) that populate log events, but also various lookups and filters that look at
- context data to determine whether an event should be logged.
- </p><p>
- Implementors should take particular note of how the different methods in the interface have different thread-safety
- guarantees to enable optimal performance.
- </p></div>
-<dl class="notes">
-<dt>Since:</dt>
-<dd>2.7</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list">
-<li><code>StringMap</code></li>
-<li><code>ReadOnlyStringMap</code></li>
-<li><a href="impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl"><code>ContextDataInjectorFactory</code></a></li>
-<li><code>ThreadContext</code></li>
-<li><a href="impl/ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl"><code>ThreadContextDataInjector</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static final org.apache.logging.log4j.plugins.di.Key&lt;<a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#KEY" class="member-name-link">KEY</a></code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="config/Property.html" title="class in org.apache.logging.log4j. [...]
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Returns a <code>StringMap</code> object initialized with the specified properties and the appropriate
- context data.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>org.apache.logging.log4j.util.ReadOnlyStringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#rawContextData()" class="member-name-link">rawContextData</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context.</div>
-</div>
-</div>
-</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="KEY">
-<h3>KEY</h3>
-<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type">org.apache.logging.log4j.plugins.di.Key&lt;<a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</span>&nbsp;<span class="element-name">KEY</span></div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">
-<h3>injectContextData</h3>
-<div class="member-signature"><span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">injectContextData</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="config/Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</span></div>
-<div class="block">Returns a <code>StringMap</code> object initialized with the specified properties and the appropriate
- context data. The returned value may be the specified parameter or a different object.
- <p>
- This method will be called for each log event to initialize its context data and implementors should take
- care to make this method as performant as possible while preserving at least the following thread-safety
- guarantee.
- </p><p>
- Thread-safety note: The returned object can safely be passed off to another thread: future changes in the
- underlying context data will not be reflected in the returned object.
- </p><p>
- Example implementation:
- </p>
- <pre>
- public StringMap injectContextData(List<Property> properties, StringMap reusable) {
-     if (properties == null || properties.isEmpty()) {
-         // assume context data is stored in a copy-on-write data structure that is safe to pass to another thread
-         return (StringMap) rawContextData();
-     }
-     // first copy configuration properties into the result
-     ThreadContextDataInjector.copyProperties(properties, reusable);
-
-     // then copy context data key-value pairs (may overwrite configuration properties)
-     reusable.putAll(rawContextData());
-     return reusable;
- }
- </pre></div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>properties</code> - Properties from the log4j configuration to be added to the resulting ReadOnlyStringMap. May be
-          <code>null</code> or empty</dd>
-<dd><code>reusable</code> - a <code>StringMap</code> instance that may be reused to avoid creating temporary objects</dd>
-<dt>Returns:</dt>
-<dd>a <code>StringMap</code> instance initialized with the specified properties and the appropriate
-          context data. The returned value may be the specified parameter or a different object.</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list-long">
-<li><a href="impl/ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)"><code>ThreadContextDataInjector.copyProperties(List, StringMap)</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="rawContextData()">
-<h3>rawContextData</h3>
-<div class="member-signature"><span class="return-type">org.apache.logging.log4j.util.ReadOnlyStringMap</span>&nbsp;<span class="element-name">rawContextData</span>()</div>
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context. Configuration properties
- are not included in the result.
- <p>
- This method may be called multiple times for each log event by Filters and Lookups and implementors should take
- care to make this method as performant as possible while preserving at least the following thread-safety
- guarantee.
- </p><p>
- Thread-safety note: The returned object can only be safely used <em>in the current thread</em>. Changes in the
- underlying context may or may not be reflected in the returned object, depending on the context data source and
- the implementation of this method. It is not safe to pass the returned object to another thread.
- </p></div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>a <code>ReadOnlyStringMap</code> object reflecting the current state of the context, may not return <code>null</code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-<footer role="contentinfo">
-<hr>
-<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
-</footer>
-</div>
-</div>
-</body>
-</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html
index 2640d4e15a..840e5ca1cc 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html
@@ -267,7 +267,7 @@ loadScripts(document, 'script');</script>
  Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
  included in all subsequent log events. The default source for context data is the <code>ThreadContext</code> (and
  <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution">properties</a>
- configured on the Logger that logged the event), but users can configure a custom <a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a>
+ configured on the Logger that logged the event), but users can configure a custom <a href="util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a>
  to inject key-value pairs from any arbitrary source.</div>
 <dl class="notes">
 <dt>Returns:</dt>
@@ -277,7 +277,6 @@ loadScripts(document, 'script');</script>
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/ReusableLogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/ReusableLogEvent.html
index e05d832bb8..0edbef5e0c 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/ReusableLogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/ReusableLogEvent.html
@@ -246,7 +246,7 @@ extends <a href="LogEvent.html" title="interface in org.apache.logging.log4j.cor
  Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
  included in all subsequent log events. The default source for context data is the <code>ThreadContext</code> (and
  <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution">properties</a>
- configured on the Logger that logged the event), but users can configure a custom <a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a>
+ configured on the Logger that logged the event), but users can configure a custom <a href="util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a>
  to inject key-value pairs from any arbitrary source.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
@@ -256,7 +256,6 @@ extends <a href="LogEvent.html" title="interface in org.apache.logging.log4j.cor
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/ContextDataInjector.html b/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/ContextDataInjector.html
deleted file mode 100644
index 2af9f424bb..0000000000
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/ContextDataInjector.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-<!-- Generated by javadoc (17) -->
-<title>Uses of Interface org.apache.logging.log4j.core.ContextDataInjector (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core, interface: ContextDataInjector">
-<meta name="generator" content="javadoc/ClassUseWriter">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-use-page">
-<script type="text/javascript">var pathtoroot = "../../../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top">
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../index.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">Class</a></li>
-<li class="nav-bar-cell1-rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html#use">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="Uses of Interface org.apache.logging.log4j.core.ContextDataInjector" class="title">Uses of Interface<br>org.apache.logging.log4j.core.ContextDataInjector</h1>
-</div>
-<div class="caption"><span>Packages that use <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Package</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core">org.apache.logging.log4j.core</a></div>
-<div class="col-last even-row-color">
-<div class="block">Implementation of Log4j 2.</div>
-</div>
-<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.filter">org.apache.logging.log4j.core.filter</a></div>
-<div class="col-last odd-row-color">
-<div class="block">Log4j 2 Filter support.</div>
-</div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.impl">org.apache.logging.log4j.core.impl</a></div>
-<div class="col-last even-row-color">
-<div class="block">Log4j 2 private implementation classes.</div>
-</div>
-</div>
-<section class="class-uses">
-<ul class="block-list">
-<li>
-<section class="detail" id="org.apache.logging.log4j.core">
-<h2>Uses of <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a> in <a href="../package-summary.html">org.apache.logging.log4j.core</a></h2>
-<div class="caption"><span>Fields in <a href="../package-summary.html">org.apache.logging.log4j.core</a> with type parameters of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static final org.apache.logging.log4j.plugins.di.Key&lt;<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ContextDataInjector.</span><code><a href="../ContextDataInjector.html#KEY" class="member-name-link">KEY</a></code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<li>
-<section class="detail" id="org.apache.logging.log4j.core.filter">
-<h2>Uses of <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a> in <a href="../filter/package-summary.html">org.apache.logging.log4j.core.filter</a></h2>
-<div class="caption"><span>Methods in <a href="../filter/package-summary.html">org.apache.logging.log4j.core.filter</a> with parameters of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code><a href="../filter/DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../filter/DynamicThresholdFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code><a href="../filter/ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../filter/ThreadContextMapFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-</div>
-<div class="caption"><span>Constructors in <a href="../filter/package-summary.html">org.apache.logging.log4j.core.filter</a> with parameters of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier</div>
-<div class="table-header col-second">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../filter/ThreadContextMapFilter.html#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">ThreadContextMapFilter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href [...]
- boolean&nbsp;oper,
- <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMatch,
- <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch,
- <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<li>
-<section class="detail" id="org.apache.logging.log4j.core.impl">
-<h2>Uses of <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a> in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a></h2>
-<div class="caption"><span>Classes in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> that implement <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second odd-row-color"><code><a href="../impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).</div>
-</div>
-<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.</div>
-</div>
-</div>
-<div class="caption"><span>Methods in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> that return <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ContextDataInjectorFactory.</span><code><a href="../impl/ContextDataInjectorFactory.html#createInjector()" class="member-name-link">createInjector</a>()</code></div>
-<div class="col-last even-row-color">
-<div class="block">Returns a new <code>ContextDataInjector</code> instance based on the value of system property
- <code>log4j2.ContextDataInjector</code>.</div>
-</div>
-<div class="col-first odd-row-color"><code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../impl/CoreDefaultBundle.html#defaultContextDataInjector()" class="member-name-link">defaultContextDataInjector</a>()</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-</div>
-<div class="caption"><span>Methods in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> that return types with arguments of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">CoreProperties.ContextDataProperties.</span><code><a href="../impl/CoreProperties.ContextDataProperties.html#injector()" class="member-name-link">injector</a>()</code></div>
-<div class="col-last even-row-color">
-<div class="block">Returns the value of the <a href="../../../../../../org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html#param-injector"><code>injector</code></a> record component.</div>
-</div>
-</div>
-<div class="caption"><span>Methods in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> with parameters of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code><a href="../impl/LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.l [...]
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
- <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
- org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code><a href="../impl/Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../impl/Log4jLogEvent.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-</div>
-<div class="caption"><span>Constructors in <a href="../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> with parameters of type <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier</div>
-<div class="table-header col-second">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
- <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
- org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-</main>
-<footer role="contentinfo">
-<hr>
-<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
-</footer>
-</div>
-</div>
-</body>
-</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/Filter.Result.html b/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/Filter.Result.html
index f089635c65..52ccde28cb 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/Filter.Result.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/class-use/Filter.Result.html
@@ -2782,11 +2782,10 @@ the order they are declared.</div>
  <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code>&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../filter/ThreadContextMapFilter.html#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">ThreadContextMapFilter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href [...]
+<div class="col-second even-row-color"><code><a href="../filter/ThreadContextMapFilter.html#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result)" class="member-name-link">ThreadContextMapFilter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/a [...]
  boolean&nbsp;oper,
  <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMatch,
- <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch,
- <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector)</code></div>
+ <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Property.html b/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Property.html
index 4e3f1f1415..9a11e69f69 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Property.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Property.html
@@ -55,57 +55,35 @@ loadScripts(document, 'script');</script>
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Package</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core">org.apache.logging.log4j.core</a></div>
+<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.appender">org.apache.logging.log4j.core.appender</a></div>
 <div class="col-last even-row-color">
-<div class="block">Implementation of Log4j 2.</div>
-</div>
-<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.appender">org.apache.logging.log4j.core.appender</a></div>
-<div class="col-last odd-row-color">
 <div class="block">Log4j 2 Appenders.</div>
 </div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.appender.db">org.apache.logging.log4j.core.appender.db</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.appender.db">org.apache.logging.log4j.core.appender.db</a></div>
+<div class="col-last odd-row-color">
 <div class="block">The classes in this package and sub packages provide appenders for various types of databases and methods for
  accessing databases.</div>
 </div>
-<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.appender.rewrite">org.apache.logging.log4j.core.appender.rewrite</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.appender.rewrite">org.apache.logging.log4j.core.appender.rewrite</a></div>
+<div class="col-last even-row-color">
 <div class="block">Apache Flume Appender.</div>
 </div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.config">org.apache.logging.log4j.core.config</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.config">org.apache.logging.log4j.core.config</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Configuration of Log4j 2.</div>
 </div>
-<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.filter">org.apache.logging.log4j.core.filter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.filter">org.apache.logging.log4j.core.filter</a></div>
+<div class="col-last even-row-color">
 <div class="block">Log4j 2 Filter support.</div>
 </div>
-<div class="col-first even-row-color"><a href="#org.apache.logging.log4j.core.impl">org.apache.logging.log4j.core.impl</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="#org.apache.logging.log4j.core.impl">org.apache.logging.log4j.core.impl</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Log4j 2 private implementation classes.</div>
 </div>
 </div>
 <section class="class-uses">
 <ul class="block-list">
 <li>
-<section class="detail" id="org.apache.logging.log4j.core">
-<h2>Uses of <a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a> in <a href="../../package-summary.html">org.apache.logging.log4j.core</a></h2>
-<div class="caption"><span>Method parameters in <a href="../../package-summary.html">org.apache.logging.log4j.core</a> with type arguments of type <a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a></span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ContextDataInjector.</span><code><a href="../../ContextDataInjector.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org.apache.logg [...]
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Returns a <code>StringMap</code> object initialized with the specified properties and the appropriate
- context data.</div>
-</div>
-</div>
-</section>
-</li>
-<li>
 <section class="detail" id="org.apache.logging.log4j.core.appender">
 <h2>Uses of <a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a> in <a href="../../appender/package-summary.html">org.apache.logging.log4j.core.appender</a></h2>
 <div class="caption"><span>Methods in <a href="../../appender/package-summary.html">org.apache.logging.log4j.core.appender</a> that return <a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a></span></div>
@@ -338,14 +316,8 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static void</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ThreadContextDataInjector.</span><code><a href="../../impl/ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">copyProperties</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org. [...]
- org.apache.logging.log4j.util.StringMap&nbsp;result)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Copies key-value pairs from the specified property list into the specified <code>StringMap</code>.</div>
-</div>
-<div class="col-first odd-row-color"><code>default <a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">LogEventFactory.</span><code><a href="../../impl/LogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,java.lang.StackTraceElement,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html"  [...]
+<div class="col-first even-row-color"><code>default <a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
+<div class="col-second even-row-color"><span class="type-name-label">LogEventFactory.</span><code><a href="../../impl/LogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,java.lang.StackTraceElement,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" [...]
  org.apache.logging.log4j.Marker&nbsp;marker,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fqcn,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;location,
@@ -353,18 +325,18 @@ loadScripts(document, 'script');</script>
  org.apache.logging.log4j.message.Message&nbsp;data,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;t)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">LogEventFactory.</span><code><a href="../../impl/LogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface i [...]
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">LogEventFactory.</span><code><a href="../../impl/LogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in [...]
  org.apache.logging.log4j.Marker&nbsp;marker,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fqcn,
  org.apache.logging.log4j.Level&nbsp;level,
  org.apache.logging.log4j.message.Message&nbsp;data,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;t)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ReusableLogEventFactory.</span><code><a href="../../impl/ReusableLogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,java.lang.StackTraceElement,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/la [...]
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
+<div class="col-second even-row-color"><span class="type-name-label">ReusableLogEventFactory.</span><code><a href="../../impl/ReusableLogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,java.lang.StackTraceElement,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/l [...]
  org.apache.logging.log4j.Marker&nbsp;marker,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fqcn,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;location,
@@ -372,40 +344,19 @@ loadScripts(document, 'script');</script>
  org.apache.logging.log4j.message.Message&nbsp;message,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;t)</code></div>
-<div class="col-last odd-row-color">
+<div class="col-last even-row-color">
 <div class="block">Creates a log event.</div>
 </div>
-<div class="col-first even-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ReusableLogEventFactory.</span><code><a href="../../impl/ReusableLogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="clas [...]
+<div class="col-first odd-row-color"><code><a href="../../LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">ReusableLogEventFactory.</span><code><a href="../../impl/ReusableLogEventFactory.html#createEvent(java.lang.String,org.apache.logging.log4j.Marker,java.lang.String,org.apache.logging.log4j.Level,org.apache.logging.log4j.message.Message,java.util.List,java.lang.Throwable)" class="member-name-link">createEvent</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class [...]
  org.apache.logging.log4j.Marker&nbsp;marker,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fqcn,
  org.apache.logging.log4j.Level&nbsp;level,
  org.apache.logging.log4j.message.Message&nbsp;message,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;t)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Creates a log event.</div>
-</div>
-<div class="col-first odd-row-color"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.</span><code><a href="../../impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="externa [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</code></div>
 <div class="col-last odd-row-color">
-<div class="block">If there are no configuration properties, this injector will return the thread context's internal data
- structure.</div>
-</div>
-<div class="col-first even-row-color"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ThreadContextDataInjector.ForDefaultThreadContextMap.</span><code><a href="../../impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link" [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
-</div>
-<div class="col-first odd-row-color"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextDataInjector.ForGarbageFreeThreadContextMap.</span><code><a href="../../impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="externa [...]
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</code></div>
-<div class="col-last odd-row-color">
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
+<div class="block">Creates a log event.</div>
 </div>
 </div>
 </section>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/config/package-use.html b/javadoc/log4j-core/org/apache/logging/log4j/core/config/package-use.html
index a9c88e0f45..f07bf5c448 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/config/package-use.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/config/package-use.html
@@ -169,12 +169,8 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color">
 <div class="block">Logger object that is created via configuration.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/Property.html#org.apache.logging.log4j.core">Property</a></div>
+<div class="col-first odd-row-color"><a href="class-use/Reconfigurable.html#org.apache.logging.log4j.core">Reconfigurable</a></div>
 <div class="col-last odd-row-color">
-<div class="block">Represents a key/value pair in the configuration.</div>
-</div>
-<div class="col-first even-row-color"><a href="class-use/Reconfigurable.html#org.apache.logging.log4j.core">Reconfigurable</a></div>
-<div class="col-last even-row-color">
 <div class="block">Implemented by Configurations that can be reconfigured at runtime.</div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html
index 191276fa98..d024feac76 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.Builder.html
@@ -130,17 +130,14 @@ implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base
 <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get()" class="member-name-link">get</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDefaultThreshold(org.apache.logging.log4j.Level)" class="member-name-link">setDefaultThreshold</a><wbr>(@PluginAttribute org.apache.logging.log4j.Level&nbsp;defaultThreshold)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDefaultThreshold(org.apache.logging.log4j.Level)" class="member-name-link">setDefaultThreshold</a><wbr>(@PluginAttribute org.apache.logging.log4j.Level&nbsp;defaultThreshold)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setKey(java.lang.String)" class="member-name-link">setKey</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setKey(java.lang.String)" class="member-name-link">setKey</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -197,13 +194,6 @@ implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base
 </section>
 </li>
 <li>
-<section class="detail" id="setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)">
-<h3>setContextDataInjector</h3>
-<div class="member-signature"><span class="annotations">@Inject
-</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></span>&nbsp;<span class="element-name">setContextDataInjector</span><wbr><span class="parameters">(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</span></div>
-</section>
-</li>
-<li>
 <section class="detail" id="get()">
 <h3>get</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DynamicThresholdFilter.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter</a></span>&nbsp;<span class="element-name">get</span>()</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.html
index 99f4df2fd6..54b0950fe2 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.html
@@ -91,8 +91,8 @@ loadScripts(document, 'script');</script>
 </span><span class="modifiers">public final class </span><span class="element-name type-name-label">DynamicThresholdFilter</span>
 <span class="extends-implements">extends <a href="AbstractFilter.html" title="class in org.apache.logging.log4j.core.filter">AbstractFilter</a></span></div>
 <div class="block">Compares against a log level that is associated with a context value. By default the context is the
- <code>ThreadContext</code>, but users may <a href="../impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">configure</a> a custom
- <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a> which obtains context data from some other source.</div>
+ <code>ThreadContext</code>, but users may <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">configure</a> a custom
+ <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a> which obtains context data from some other source.</div>
 </section>
 <section class="summary">
 <ul class="summary-list">
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html
index c0cfea7c91..2b7913ccc3 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.Builder.html
@@ -130,14 +130,11 @@ implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base
 <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get()" class="member-name-link">get</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOperator(java.lang.String)" class="member-name-link">setOperator</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;operator)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOperator(java.lang.String)" class="member-name-link">setOperator</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;operator)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -187,13 +184,6 @@ implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base
 </section>
 </li>
 <li>
-<section class="detail" id="setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)">
-<h3>setContextDataInjector</h3>
-<div class="member-signature"><span class="annotations">@Inject
-</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></span>&nbsp;<span class="element-name">setContextDataInjector</span><wbr><span class="parameters">(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</span></div>
-</section>
-</li>
-<li>
 <section class="detail" id="get()">
 <h3>get</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ThreadContextMapFilter.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter</a></span>&nbsp;<span class="element-name">get</span>()</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html
index 02ca0e1794..6256ce4a8b 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html
@@ -144,11 +144,10 @@ loadScripts(document, 'script');</script>
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Constructor</div>
 <div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">ThreadContextMapFilter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/e [...]
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result)" class="member-name-link">ThreadContextMapFilter</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Stri [...]
  boolean&nbsp;oper,
  <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMatch,
- <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch,
- <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector)</code></div>
+ <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
@@ -367,13 +366,12 @@ loadScripts(document, 'script');</script>
 <h2>Constructor Details</h2>
 <ul class="member-list">
 <li>
-<section class="detail" id="&lt;init&gt;(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.ContextDataInjector)">
+<section class="detail" id="&lt;init&gt;(java.util.Map,boolean,org.apache.logging.log4j.core.Filter.Result,org.apache.logging.log4j.core.Filter.Result)">
 <h3>ThreadContextMapFilter</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ThreadContextMapFilter</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wb [...]
  boolean&nbsp;oper,
  <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMatch,
- <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch,
- <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector)</span></div>
+ <a href="../Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a>&nbsp;onMismatch)</span></div>
 </section>
 </li>
 </ul>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/DynamicThresholdFilter.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/DynamicThresholdFilter.Builder.html
index 4272e34e2c..79af016338 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/DynamicThresholdFilter.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/DynamicThresholdFilter.Builder.html
@@ -74,17 +74,14 @@ loadScripts(document, 'script');</script>
 <div class="col-second even-row-color"><span class="type-name-label">DynamicThresholdFilter.</span><code><a href="../DynamicThresholdFilter.html#newBuilder()" class="member-name-link">newBuilder</a>()</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setDefaultThreshold(org.apache.logging.log4j.Level)" class="member-name-link">setDefaultThreshold</a><wbr>(@PluginAttribute org.apache.logging.log4j.Level&nbsp;defaultThreshold)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setDefaultThreshold(org.apache.logging.log4j.Level)" class="member-name-link">setDefaultThreshold</a><wbr>(@PluginAttribute org.apache.logging.log4j.Level&nbsp;defaultThreshold)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setKey(java.lang.String)" class="member-name-link">setKey</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setKey(java.lang.String)" class="member-name-link">setKey</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code><a href="../DynamicThresholdFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">DynamicThresholdFilter.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">DynamicThresholdFilter.Builder.</span><code><a href="../DynamicThresholdFilter.Builder.html#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/ThreadContextMapFilter.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/ThreadContextMapFilter.Builder.html
index 44922490d8..61afb3c4a9 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/ThreadContextMapFilter.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/filter/class-use/ThreadContextMapFilter.Builder.html
@@ -74,14 +74,11 @@ loadScripts(document, 'script');</script>
 <div class="col-second even-row-color"><span class="type-name-label">ThreadContextMapFilter.</span><code><a href="../ThreadContextMapFilter.html#newBuilder()" class="member-name-link">newBuilder</a>()</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../ThreadContextMapFilter.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../ThreadContextMapFilter.Builder.html#setOperator(java.lang.String)" class="member-name-link">setOperator</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;operator)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../ThreadContextMapFilter.Builder.html#setOperator(java.lang.String)" class="member-name-link">setOperator</a><wbr>(@PluginAttribute <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;operator)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../ThreadContextMapFilter.Builder.html#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code><a href="../ThreadContextMapFilter.Builder.html" title="class in org.apache.logging.log4j.core.filter">ThreadContextMapFilter.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">ThreadContextMapFilter.Builder.</span><code><a href="../ThreadContextMapFilter.Builder.html#setPairs(org.apache.logging.log4j.core.util.KeyValuePair%5B%5D)" class="member-name-link">setPairs</a><wbr>(@PluginElement <a href="../../util/KeyValuePair.html" title="class in org.apache.logging.log4j.core.util">KeyValuePair</a>[]&nbsp;pairs)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
 </div>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextData.html
similarity index 58%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextData.html
index 0da9b3b70f..7c49fc4e14 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextData.html
@@ -2,10 +2,10 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>ThreadContextDataInjector (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>ContextData (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ContextData">
 <meta name="generator" content="javadoc/ClassWriterImpl">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -34,7 +34,7 @@ loadScripts(document, 'script');</script>
 <li><a href="../../../../../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ThreadContextDataInjector.html">Use</a></li>
+<li><a href="class-use/ContextData.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -45,15 +45,15 @@ loadScripts(document, 'script');</script>
 <div>
 <ul class="sub-nav-list">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method-summary">Method</a></li>
 </ul>
 <ul class="sub-nav-list">
 <li>Detail:&nbsp;</li>
 <li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method-detail">Method</a></li>
 </ul>
 </div>
@@ -70,68 +70,19 @@ loadScripts(document, 'script');</script>
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ThreadContextDataInjector" class="title">Class ThreadContextDataInjector</h1>
+<h1 title="Class ContextData" class="title">Class ContextData</h1>
 </div>
 <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ThreadContextDataInjector</div>
+<div class="inheritance">org.apache.logging.log4j.core.impl.ContextData</div>
 </div>
 <section class="class-description" id="class-description">
 <hr>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ThreadContextDataInjector</span>
+<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">ContextData</span>
 <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block"><code>ThreadContextDataInjector</code> contains a number of strategies for copying key-value pairs from the various
- <code>ThreadContext</code> map implementations into a <code>StringMap</code>. In the case of duplicate keys,
- thread context values overwrite configuration <code>Property</code> values.
- <p>
- These are the default <code>ContextDataInjector</code> objects returned by the <a href="ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl"><code>ContextDataInjectorFactory</code></a>.
- </p></div>
-<dl class="notes">
-<dt>Since:</dt>
-<dd>2.7</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list">
-<li><code>ThreadContext</code></li>
-<li><a href="../config/Property.html" title="class in org.apache.logging.log4j.core.config"><code>Property</code></a></li>
-<li><code>ReadOnlyStringMap</code></li>
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
-<li><a href="ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl"><code>ContextDataInjectorFactory</code></a></li>
-</ul>
-</dd>
-</dl>
+<div class="block">General purpose utility class for accessing data accessible through ContextDataProviders.</div>
 </section>
 <section class="summary">
 <ul class="summary-list">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<li>
-<section class="nested-class-summary" id="nested-class-summary">
-<h2>Nested Class Summary</h2>
-<div class="caption"><span>Nested Classes</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second odd-row-color"><code><a href="ThreadContextDataInjector.ForDefaultThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).</div>
-</div>
-<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.</div>
-</div>
-</div>
-</section>
-</li>
 <!-- =========== FIELD SUMMARY =========== -->
 <li>
 <section class="field-summary" id="field-summary">
@@ -144,24 +95,11 @@ loadScripts(document, 'script');</script>
 <div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&gt;</code></div>
 <div class="col-second even-row-color"><code><a href="#contextDataProviders" class="member-name-link">contextDataProviders</a></code></div>
 <div class="col-last even-row-color">
-<div class="block">ContextDataProviders loaded externally.</div>
+<div class="block">ContextDataProviders loaded via OSGi.</div>
 </div>
 </div>
 </section>
 </li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ThreadContextDataInjector</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
 <!-- ========== METHOD SUMMARY =========== -->
 <li>
 <section class="method-summary" id="method-summary">
@@ -173,12 +111,25 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">copyProperties</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log4j.cor [...]
- org.apache.logging.log4j.util.StringMap&nbsp;result)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/e [...]
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#addAll(java.util.Map)" class="member-name-link">addAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" clas [...]
 <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Copies key-value pairs from the specified property list into the specified <code>StringMap</code>.</div>
+<div class="block">Populates the provided Map with data from the Context.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#addAll(org.apache.logging.log4j.util.StringMap)" class="member-name-link">addAll</a><wbr>(org.apache.logging.log4j.util.StringMap&nbsp;stringMap)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Populates the provided StringMap with data from the Context.</div>
 </div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#addProvider(org.apache.logging.log4j.core.util.ContextDataProvider)" class="member-name-link">addProvider</a><wbr>(<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&nbsp;provider)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getValue(java.lang.String)" class="member-name-link">getValue</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -200,44 +151,59 @@ loadScripts(document, 'script');</script>
 <section class="detail" id="contextDataProviders">
 <h3>contextDataProviders</h3>
 <div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&gt;</span>&nbsp;<span class="element-name">contextDataProviders</span></div>
-<div class="block">ContextDataProviders loaded externally.</div>
+<div class="block">ContextDataProviders loaded via OSGi.</div>
 </section>
 </li>
 </ul>
 </section>
 </li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<!-- ============ METHOD DETAIL ========== -->
 <li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
 <ul class="member-list">
 <li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>ThreadContextDataInjector</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ThreadContextDataInjector</span>()</div>
+<section class="detail" id="addProvider(org.apache.logging.log4j.core.util.ContextDataProvider)">
+<h3>addProvider</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addProvider</span><wbr><span class="parameters">(<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&nbsp;provider)</span></div>
 </section>
 </li>
-</ul>
+<li>
+<section class="detail" id="size()">
+<h3>size</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
 </section>
 </li>
-<!-- ============ METHOD DETAIL ========== -->
 <li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
+<section class="detail" id="addAll(org.apache.logging.log4j.util.StringMap)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAll</span><wbr><span class="parameters">(org.apache.logging.log4j.util.StringMap&nbsp;stringMap)</span></div>
+<div class="block">Populates the provided StringMap with data from the Context.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>stringMap</code> - the StringMap to contain the results.</dd>
+</dl>
+</section>
+</li>
 <li>
-<section class="detail" id="copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)">
-<h3>copyProperties</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">copyProperties</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log4j.core.config">Property</a>&gt;&nbsp;properties,
- org.apache.logging.log4j.util.StringMap&nbsp;result)</span></div>
-<div class="block">Copies key-value pairs from the specified property list into the specified <code>StringMap</code>.</div>
+<section class="detail" id="addAll(java.util.Map)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/d [...]
+<div class="block">Populates the provided Map with data from the Context.</div>
 <dl class="notes">
 <dt>Parameters:</dt>
-<dd><code>properties</code> - list of configuration properties, may be <code>null</code></dd>
-<dd><code>result</code> - the <code>StringMap</code> object to add the key-values to. Must be non-<code>null</code>.</dd>
+<dd><code>map</code> - the Map to contain the results.</dd>
+<dt>Returns:</dt>
+<dd>the Map. Useful for chaining operations.</dd>
 </dl>
 </section>
 </li>
+<li>
+<section class="detail" id="getValue(java.lang.String)">
+<h3>getValue</h3>
+<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getValue</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" cl [...]
+</section>
+</li>
 </ul>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataFactory.html
index 02b2c27074..9ce6c6c813 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataFactory.html
@@ -79,7 +79,7 @@ loadScripts(document, 'script');</script>
 <hr>
 <div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">ContextDataFactory</span>
 <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="../LogEvent.html#getContextData()">context data</a>. When context data is <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">injected</a> into the log event, these StringMap
+<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="../LogEvent.html#getContextData()">context data</a>. When context data is <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">injected</a> into the log event, these StringMap
  instances may be either populated with key-value pairs from the context, or completely replaced altogether.
  <p>
      By default returns <code>SortedArrayStringMap</code> objects. Can be configured by setting system property
@@ -94,7 +94,6 @@ loadScripts(document, 'script');</script>
 <dd>
 <ul class="see-list">
 <li><a href="../LogEvent.html#getContextData()"><code>LogEvent.getContextData()</code></a></li>
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>SortedArrayStringMap</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html
deleted file mode 100644
index 06071def07..0000000000
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-<!-- Generated by javadoc (17) -->
-<title>ContextDataInjectorFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ContextDataInjectorFactory">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var evenRowColor = "even-row-color";
-var oddRowColor = "odd-row-color";
-var tableTab = "table-tab";
-var activeTableTab = "active-table-tab";
-var pathtoroot = "../../../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top">
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ContextDataInjectorFactory.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html#class">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div>
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ContextDataInjectorFactory" class="title">Class ContextDataInjectorFactory</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ContextDataInjectorFactory</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Factory for ContextDataInjectors. Returns a new <code>ContextDataInjector</code> instance based on the value of system
- property <code>log4j2.ContextDataInjector</code>. Users may use this system property to specify the fully qualified class
- name of a class that implements the <code>ContextDataInjector</code> interface.
- If no value was specified this factory method returns one of the injectors defined in
- <code>ThreadContextDataInjector</code>.</div>
-<dl class="notes">
-<dt>Since:</dt>
-<dd>2.7</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list">
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
-<li><code>ReadOnlyStringMap</code></li>
-<li><a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl"><code>ThreadContextDataInjector</code></a></li>
-<li><a href="../LogEvent.html#getContextData()"><code>LogEvent.getContextData()</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ContextDataInjectorFactory</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createInjector()" class="member-name-link">createInjector</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Returns a new <code>ContextDataInjector</code> instance based on the value of system property
- <code>log4j2.ContextDataInjector</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>ContextDataInjectorFactory</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ContextDataInjectorFactory</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="createInjector()">
-<h3>createInjector</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span>&nbsp;<span class="element-name">createInjector</span>()</div>
-<div class="block">Returns a new <code>ContextDataInjector</code> instance based on the value of system property
- <code>log4j2.ContextDataInjector</code>. If no value was specified this factory method returns one of the
- <code>ContextDataInjector</code> classes defined in <a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl"><code>ThreadContextDataInjector</code></a> which is most appropriate for
- the ThreadContext implementation.
- <p>
- <b>Note:</b> It is no longer recommended that users provide a custom implementation of the ContextDataInjector.
- Instead, provide a <code>ContextDataProvider</code>.
- </p>
- <p>
- Users may use this system property to specify the fully qualified class name of a class that implements the
- <code>ContextDataInjector</code> interface.
- </p><p>
- When providing a custom <code>ContextDataInjector</code>, be aware that this method may be invoked multiple times by
- the various components in Log4j that need access to context data.
- This includes the object(s) that populate log events, but also various lookups and filters that look at
- context data to determine whether an event should be logged.
- </p></div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>a ContextDataInjector that populates the <code>ReadOnlyStringMap</code> of all <code>LogEvent</code> objects</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list">
-<li><a href="../LogEvent.html#getContextData()"><code>LogEvent.getContextData()</code></a></li>
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-<footer role="contentinfo">
-<hr>
-<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
-</footer>
-</div>
-</div>
-</body>
-</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreDefaultBundle.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreDefaultBundle.html
index 3a87cd9059..27e1c0ea85 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreDefaultBundle.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreDefaultBundle.html
@@ -90,7 +90,6 @@ loadScripts(document, 'script');</script>
 <li><a href="../config/ConfigurationFactory.html" title="class in org.apache.logging.log4j.core.config"><code>ConfigurationFactory</code></a></li>
 <li><a href="../config/composite/MergeStrategy.html" title="interface in org.apache.logging.log4j.core.config.composite"><code>MergeStrategy</code></a></li>
 <li><a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup"><code>InterpolatorFactory</code></a></li>
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl"><code>LogEventFactory</code></a></li>
 <li><a href="../lookup/StrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup"><code>StrSubstitutor</code></a></li>
 </ul>
@@ -138,60 +137,56 @@ loadScripts(document, 'script');</script>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../lookup/ConfigurationStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">ConfigurationStrSubstitutor</a></code></div>
 <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#configurationStrSubstitutor(org.apache.logging.log4j.core.lookup.InterpolatorFactory)" class="member-name-link">configurationStrSubstitutor</a><wbr>(<a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup">InterpolatorFactory</a>&nbsp;factory)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultContextDataInjector()" class="member-name-link">defaultContextDataInjector</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../selector/ContextSelector.html" title="interface in org.apache.logging.log4j.core.selector">ContextSelector</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultContextSelector(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">defaultContextSelector</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../selector/ContextSelector.html" title="interface in org.apache.logging.log4j.core.selector">ContextSelector</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultContextSelector(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">defaultContextSelector</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.FlowMessageFactory</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultFlowMessageFactory()" class="member-name-link">defaultFlowMessageFactory</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.FlowMessageFactory</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultFlowMessageFactory()" class="member-name-link">defaultFlowMessageFactory</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../config/composite/MergeStrategy.html" title="interface in org.apache.logging.log4j.core.config.composite">MergeStrategy</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultMergeStrategy()" class="member-name-link">defaultMergeStrategy</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../config/composite/MergeStrategy.html" title="interface in org.apache.logging.log4j.core.config.composite">MergeStrategy</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultMergeStrategy()" class="member-name-link">defaultMergeStrategy</a>()</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.MessageFactory</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultMessageFactory(org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">defaultMessageFactory</a><wbr>(org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.MessageFactory</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultMessageFactory(org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">defaultMessageFactory</a><wbr>(org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultNanoClock()" class="member-name-link">defaultNanoClock</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultNanoClock()" class="member-name-link">defaultNanoClock</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.kit.recycler.RecyclerFactory</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRecyclerFactory(org.apache.logging.log4j.kit.env.PropertyEnvironment,org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider)" class="member-name-link">defaultRecyclerFactory</a><wbr>(org.apache.logging.log4j.kit.env.PropertyEnvironment&nbsp;environment,
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.kit.recycler.RecyclerFactory</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRecyclerFactory(org.apache.logging.log4j.kit.env.PropertyEnvironment,org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider)" class="member-name-link">defaultRecyclerFactory</a><wbr>(org.apache.logging.log4j.kit.env.PropertyEnvironment&nbsp;environment,
  org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider&nbsp;provider)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRecyclerFactoryProvider(org.apache.logging.log4j.kit.env.PropertyEnvironment,java.lang.ClassLoader,org.apache.logging.log4j.Logger)" class="member-name-link">defaultRecyclerFactoryProvider</a><wbr>(org.apache.logging.log4j.kit.env.PropertyEnvironment&nbsp;environment,
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.kit.recycler.RecyclerFactoryProvider</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultRecyclerFactoryProvider(org.apache.logging.log4j.kit.env.PropertyEnvironment,java.lang.ClassLoader,org.apache.logging.log4j.Logger)" class="member-name-link">defaultRecyclerFactoryProvider</a><wbr>(org.apache.logging.log4j.kit.env.PropertyEnvironment&nbsp;environment,
  <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/ClassLoader.html" title="class or interface in java.lang" class="external-link">ClassLoader</a>&nbsp;loader,
  org.apache.logging.log4j.Logger&nbsp;statusLogger)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../util/ShutdownCallbackRegistry.html" title="interface in org.apache.logging.log4j.core.util">ShutdownCallbackRegistry</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultShutdownCallbackRegistry()" class="member-name-link">defaultShutdownCallbackRegistry</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Named("StatusLogger") org.apache.logging.log4j.Level</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultStatusLevel()" class="member-name-link">defaultStatusLevel</a>()</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../util/ShutdownCallbackRegistry.html" title="interface in org.apache.logging.log4j.core.util">ShutdownCallbackRegistry</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultShutdownCallbackRegistry()" class="member-name-link">defaultShutdownCallbackRegistry</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Named("StatusLogger") org.apache.logging.log4j.Logger</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultStatusLogger()" class="member-name-link">defaultStatusLogger</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Named("StatusLogger") org.apache.logging.log4j.Level</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultStatusLevel()" class="member-name-link">defaultStatusLevel</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup">InterpolatorFactory</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#interpolatorFactory(java.util.Map)" class="member-name-link">interpolatorFactory</a><wbr>(@Namespace("Lookup") <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html [...]
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Named("StatusLogger") org.apache.logging.log4j.Logger</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#defaultStatusLogger()" class="member-name-link">defaultStatusLogger</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.LoggerContextFactory</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#loggerContextFactory(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">loggerContextFactory</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup">InterpolatorFactory</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#interpolatorFactory(java.util.Map)" class="member-name-link">interpolatorFactory</a><wbr>(@Namespace("Lookup") <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.htm [...]
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.Provider</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#provider(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">provider</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.LoggerContextFactory</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#loggerContextFactory(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">loggerContextFactory</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">C [...]
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.Provider</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#provider(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory)" class="member-name-link">provider</a><wbr>(org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory&nbsp;instanceFactory)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../lookup/RuntimeStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">RuntimeStrSubstitutor</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#runtimeStrSubstitutor(org.apache.logging.log4j.core.lookup.InterpolatorFactory)" class="member-name-link">runtimeStrSubstitutor</a><wbr>(<a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup">InterpolatorFactory</a>&nbsp;factory)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../lookup/RuntimeStrSubstitutor.html" title="class in org.apache.logging.log4j.core.lookup">RuntimeStrSubstitutor</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#runtimeStrSubstitutor(org.apache.logging.log4j.core.lookup.InterpolatorFactory)" class="member-name-link">runtimeStrSubstitutor</a><wbr>(<a href="../lookup/InterpolatorFactory.html" title="interface in org.apache.logging.log4j.core.lookup">InterpolatorFactory</a>&nbsp;factory)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -300,20 +295,11 @@ loadScripts(document, 'script');</script>
 </section>
 </li>
 <li>
-<section class="detail" id="defaultContextDataInjector()">
-<h3>defaultContextDataInjector</h3>
-<div class="member-signature"><span class="annotations">@SingletonFactory
-@ConditionalOnMissingBinding
-</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span>&nbsp;<span class="element-name">defaultContextDataInjector</span>()</div>
-</section>
-</li>
-<li>
-<section class="detail" id="reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)">
+<section class="detail" id="reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)">
 <h3>reusableLogEventFactory</h3>
 <div class="member-signature"><span class="annotations">@SingletonFactory
 @ConditionalOnMissingBinding
-</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></span>&nbsp;<span class="element-name">reusableLogEventFactory</span><wbr><span class="parameters">(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></span>&nbsp;<span class="element-name">reusableLogEventFactory</span><wbr><span class="parameters">(<a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</span></div>
 </section>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html
index 2896ea3ede..1928559beb 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/CoreProperties.ContextDataProperties.html
@@ -81,14 +81,13 @@ loadScripts(document, 'script');</script>
 <dl class="notes">
 <dt>Record Components:</dt>
 <dd><code><span id="param-type">type</span></code> - The <code>StringMap</code> class to use for context data.</dd>
-<dd><code><span id="param-injector">injector</span></code> - The <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a> to use to retrieve context data.</dd>
 </dl>
 <dl class="notes">
 <dt>Enclosing class:</dt>
 <dd><a href="CoreProperties.html" title="class in org.apache.logging.log4j.core.impl">CoreProperties</a></dd>
 </dl>
 <hr>
-<div class="type-signature"><span class="modifiers">public static record </span><span class="element-name type-name-label">CoreProperties.ContextDataProperties</span>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type, @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/jav [...]
+<div class="type-signature"><span class="modifiers">public static record </span><span class="element-name type-name-label">CoreProperties.ContextDataProperties</span>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type)
 <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></span></div>
 </section>
 <section class="summary">
@@ -101,8 +100,7 @@ loadScripts(document, 'script');</script>
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Constructor</div>
 <div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.Class,java.lang.Class)" class="member-name-link">ContextDataProperties</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type,
- @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;&nbsp;injector)</code></div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.Class)" class="member-name-link">ContextDataProperties</a><wbr>(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type)</code></div>
 <div class="col-last even-row-color">
 <div class="block">Creates an instance of a <code>ContextDataProperties</code> record class.</div>
 </div>
@@ -130,19 +128,14 @@ loadScripts(document, 'script');</script>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">Returns a hash code value for this object.</div>
 </div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#injector()" class="member-name-link">injector</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns the value of the <a href="#param-injector"><code>injector</code></a> record component.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">Returns a string representation of this record class.</div>
 </div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#type()" class="member-name-link">type</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#type()" class="member-name-link">type</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">Returns the value of the <a href="#param-type"><code>type</code></a> record component.</div>
 </div>
 </div>
@@ -163,15 +156,13 @@ loadScripts(document, 'script');</script>
 <h2>Constructor Details</h2>
 <ul class="member-list">
 <li>
-<section class="detail" id="&lt;init&gt;(java.lang.Class,java.lang.Class)">
+<section class="detail" id="&lt;init&gt;(java.lang.Class)">
 <h3>ContextDataProperties</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ContextDataProperties</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type,
- @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;&nbsp;injector)</span></div>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ContextDataProperties</span><wbr><span class="parameters">(@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends org.apache.logging.log4j.util.StringMap&gt;&nbsp;type)</span></div>
 <div class="block">Creates an instance of a <code>ContextDataProperties</code> record class.</div>
 <dl class="notes">
 <dt>Parameters:</dt>
 <dd><code>type</code> - the value for the <a href="#param-type"><code>type</code></a> record component</dd>
-<dd><code>injector</code> - the value for the <a href="#param-injector"><code>injector</code></a> record component</dd>
 </dl>
 </section>
 </li>
@@ -235,17 +226,6 @@ loadScripts(document, 'script');</script>
 </dl>
 </section>
 </li>
-<li>
-<section class="detail" id="injector()">
-<h3>injector</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&gt;</span>&nbsp;<span class="element-name">injector</span>()</div>
-<div class="block">Returns the value of the <a href="#param-injector"><code>injector</code></a> record component.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>the value of the <a href="#param-injector"><code>injector</code></a> record component</dd>
-</dl>
-</section>
-</li>
 </ul>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html
index 43aaec7e4f..23c60960bd 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.Builder.html
@@ -128,61 +128,58 @@ implements org.apache.logging.log4j.plugins.util.Builder&lt;<a href="../LogEvent
 <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextData(org.apache.logging.log4j.util.StringMap)" class="member-name-link">setContextData</a><wbr>(org.apache.logging.log4j.util.StringMap&nbsp;contextData)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextStack(org.apache.logging.log4j.ThreadContext.ContextStack)" class="member-name-link">setContextStack</a><wbr>(org.apache.logging.log4j.ThreadContext.ContextStack&nbsp;contextStack)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setContextStack(org.apache.logging.log4j.ThreadContext.ContextStack)" class="member-name-link">setContextStack</a><wbr>(org.apache.logging.log4j.ThreadContext.ContextStack&nbsp;contextStack)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setEndOfBatch(boolean)" class="member-name-link">setEndOfBatch</a><wbr>(boolean&nbsp;endOfBatch)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setEndOfBatch(boolean)" class="member-name-link">setEndOfBatch</a><wbr>(boolean&nbsp;endOfBatch)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setIncludeLocation(boolean)" class="member-name-link">setIncludeLocation</a><wbr>(boolean&nbsp;includeLocation)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setIncludeLocation(boolean)" class="member-name-link">setIncludeLocation</a><wbr>(boolean&nbsp;includeLocation)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setInstant(org.apache.logging.log4j.core.time.Instant)" class="member-name-link">setInstant</a><wbr>(<a href="../time/Instant.html" title="interface in org.apache.logging.log4j.core.time">Instant</a>&nbsp;instant)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setInstant(org.apache.logging.log4j.core.time.Instant)" class="member-name-link">setInstant</a><wbr>(<a href="../time/Instant.html" title="interface in org.apache.logging.log4j.core.time">Instant</a>&nbsp;instant)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLevel(org.apache.logging.log4j.Level)" class="member-name-link">setLevel</a><wbr>(org.apache.logging.log4j.Level&nbsp;level)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLevel(org.apache.logging.log4j.Level)" class="member-name-link">setLevel</a><wbr>(org.apache.logging.log4j.Level&nbsp;level)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLoggerFqcn(java.lang.String)" class="member-name-link">setLoggerFqcn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerFqcn)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLoggerFqcn(java.lang.String)" class="member-name-link">setLoggerFqcn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerFqcn)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLoggerName(java.lang.String)" class="member-name-link">setLoggerName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerName)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setLoggerName(java.lang.String)" class="member-name-link">setLoggerName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerName)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMarker(org.apache.logging.log4j.Marker)" class="member-name-link">setMarker</a><wbr>(org.apache.logging.log4j.Marker&nbsp;marker)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMarker(org.apache.logging.log4j.Marker)" class="member-name-link">setMarker</a><wbr>(org.apache.logging.log4j.Marker&nbsp;marker)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMessage(org.apache.logging.log4j.message.Message)" class="member-name-link">setMessage</a><wbr>(org.apache.logging.log4j.message.Message&nbsp;message)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMessage(org.apache.logging.log4j.message.Message)" class="member-name-link">setMessage</a><wbr>(org.apache.logging.log4j.message.Message&nbsp;message)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setNanoTime(long)" class="member-name-link">setNanoTime</a><wbr>(long&nbsp;nanoTime)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setNanoTime(long)" class="member-name-link">setNanoTime</a><wbr>(long&nbsp;nanoTime)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
 <div class="block">Sets the nano time for the event.</div>
 </div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSource(java.lang.StackTraceElement)" class="member-name-link">setSource</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;source)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadId(long)" class="member-name-link">setThreadId</a><wbr>(long&nbsp;threadId)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSource(java.lang.StackTraceElement)" class="member-name-link">setSource</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;source)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadName(java.lang.String)" class="member-name-link">setThreadName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;threadName)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadId(long)" class="member-name-link">setThreadId</a><wbr>(long&nbsp;threadId)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadPriority(int)" class="member-name-link">setThreadPriority</a><wbr>(int&nbsp;threadPriority)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadName(java.lang.String)" class="member-name-link">setThreadName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;threadName)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThrown(java.lang.Throwable)" class="member-name-link">setThrown</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;thrown)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThreadPriority(int)" class="member-name-link">setThreadPriority</a><wbr>(int&nbsp;threadPriority)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThrownProxy(org.apache.logging.log4j.core.impl.ThrowableProxy)" class="member-name-link">setThrownProxy</a><wbr>(<a href="ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a>&nbsp;thrownProxy)</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThrown(java.lang.Throwable)" class="member-name-link">setThrown</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;thrown)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTimeMillis(long)" class="member-name-link">setTimeMillis</a><wbr>(long&nbsp;timeMillis)</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setThrownProxy(org.apache.logging.log4j.core.impl.ThrowableProxy)" class="member-name-link">setThrownProxy</a><wbr>(<a href="ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a>&nbsp;thrownProxy)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTimeMillis(long)" class="member-name-link">setTimeMillis</a><wbr>(long&nbsp;timeMillis)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
@@ -346,12 +343,6 @@ implements org.apache.logging.log4j.plugins.util.Builder&lt;<a href="../LogEvent
 </section>
 </li>
 <li>
-<section class="detail" id="setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)">
-<h3>setContextDataInjector</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></span>&nbsp;<span class="element-name">setContextDataInjector</span><wbr><span class="parameters">(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</span></div>
-</section>
-</li>
-<li>
 <section class="detail" id="build()">
 <h3>build</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Log4jLogEvent.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent</a></span>&nbsp;<span class="element-name">build</span>()</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.html
index 89530f2f8e..97d81ac958 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jLogEvent.html
@@ -525,7 +525,6 @@ implements <a href="../LogEvent.html" title="interface in org.apache.logging.log
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jProvider.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jProvider.html
index ea5732c853..81b96a7892 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jProvider.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/Log4jProvider.html
@@ -123,18 +123,21 @@ loadScripts(document, 'script');</script>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.LoggerContextFactory</code></div>
 <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLoggerContextFactory()" class="member-name-link">getLoggerContextFactory</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getThreadContextMap()" class="member-name-link">getThreadContextMap</a>()</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.ScopedContextProvider</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getScopedContextProvider()" class="member-name-link">getScopedContextProvider</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.ThreadContextMap</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getThreadContextMapInstance()" class="member-name-link">getThreadContextMapInstance</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getThreadContextMap()" class="member-name-link">getThreadContextMap</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.spi.ThreadContextMap</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getThreadContextMapInstance()" class="member-name-link">getThreadContextMapInstance</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
 </div>
 </div>
 </div>
 <div class="inherited-list">
 <h3 id="methods-inherited-from-class-org.apache.logging.log4j.spi.Provider">Methods inherited from class&nbsp;org.apache.logging.log4j.spi.Provider</h3>
-<code>equals, getClassName, getPriority, getScopedContextProvider, getUrl, getVersions, hashCode, loadLoggerContextFactory, loadThreadContextMap, toString</code></div>
+<code>equals, getClassName, getPriority, getUrl, getVersions, hashCode, loadLoggerContextFactory, loadThreadContextMap, toString</code></div>
 <div class="inherited-list">
 <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
 <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in [...]
@@ -200,6 +203,16 @@ loadScripts(document, 'script');</script>
 </dl>
 </section>
 </li>
+<li>
+<section class="detail" id="getScopedContextProvider()">
+<h3>getScopedContextProvider</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.spi.ScopedContextProvider</span>&nbsp;<span class="element-name">getScopedContextProvider</span>()</div>
+<dl class="notes">
+<dt>Overrides:</dt>
+<dd><code>getScopedContextProvider</code>&nbsp;in class&nbsp;<code>org.apache.logging.log4j.spi.Provider</code></dd>
+</dl>
+</section>
+</li>
 </ul>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MementoLogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MementoLogEvent.html
index 2ab916722b..4762da3aa3 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MementoLogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MementoLogEvent.html
@@ -312,7 +312,7 @@ implements <a href="../LogEvent.html" title="interface in org.apache.logging.log
  Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
  included in all subsequent log events. The default source for context data is the <code>ThreadContext</code> (and
  <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution">properties</a>
- configured on the Logger that logged the event), but users can configure a custom <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a>
+ configured on the Logger that logged the event), but users can configure a custom <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a>
  to inject key-value pairs from any arbitrary source.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
@@ -322,7 +322,6 @@ implements <a href="../LogEvent.html" title="interface in org.apache.logging.log
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MutableLogEvent.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MutableLogEvent.html
index ba68cc4584..fa6b51a197 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MutableLogEvent.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/MutableLogEvent.html
@@ -810,7 +810,7 @@ implements <a href="../ReusableLogEvent.html" title="interface in org.apache.log
  Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
  included in all subsequent log events. The default source for context data is the <code>ThreadContext</code> (and
  <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution">properties</a>
- configured on the Logger that logged the event), but users can configure a custom <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a>
+ configured on the Logger that logged the event), but users can configure a custom <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a>
  to inject key-value pairs from any arbitrary source.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
@@ -822,7 +822,6 @@ implements <a href="../ReusableLogEvent.html" title="interface in org.apache.log
 <dt>See Also:</dt>
 <dd>
 <ul class="see-list">
-<li><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a></li>
 <li><code>ThreadContext</code></li>
 </ul>
 </dd>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html
index 2474e1c304..c88c140bbb 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html
@@ -115,8 +115,7 @@ implements <a href="LogEventFactory.html" title="interface in org.apache.logging
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Constructor</div>
 <div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
@@ -185,11 +184,10 @@ implements <a href="LogEventFactory.html" title="interface in org.apache.logging
 <h2>Constructor Details</h2>
 <ul class="member-list">
 <li>
-<section class="detail" id="&lt;init&gt;(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)">
+<section class="detail" id="&lt;init&gt;(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)">
 <h3>ReusableLogEventFactory</h3>
 <div class="member-signature"><span class="annotations">@Inject
-</span><span class="modifiers">public</span>&nbsp;<span class="element-name">ReusableLogEventFactory</span><wbr><span class="parameters">(<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+</span><span class="modifiers">public</span>&nbsp;<span class="element-name">ReusableLogEventFactory</span><wbr><span class="parameters">(<a href="../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</span></div>
 </section>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html
similarity index 62%
copy from javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html
copy to javadoc/log4j-core/org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html
index ec24d9efec..796d63b1f9 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html
@@ -2,10 +2,10 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>ThreadContextDataProvider (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>ScopedContextDataProvider (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataProvider">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ScopedContextDataProvider">
 <meta name="generator" content="javadoc/ClassWriterImpl">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -34,7 +34,7 @@ loadScripts(document, 'script');</script>
 <li><a href="../../../../../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ThreadContextDataProvider.html">Use</a></li>
+<li><a href="class-use/ScopedContextDataProvider.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -70,10 +70,10 @@ loadScripts(document, 'script');</script>
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ThreadContextDataProvider" class="title">Class ThreadContextDataProvider</h1>
+<h1 title="Class ScopedContextDataProvider" class="title">Class ScopedContextDataProvider</h1>
 </div>
 <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ThreadContextDataProvider</div>
+<div class="inheritance">org.apache.logging.log4j.core.impl.ScopedContextDataProvider</div>
 </div>
 <section class="class-description" id="class-description">
 <dl class="notes">
@@ -81,10 +81,14 @@ loadScripts(document, 'script');</script>
 <dd><code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
 </dl>
 <hr>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ThreadContextDataProvider</span>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ScopedContextDataProvider</span>
 <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
 implements <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></span></div>
-<div class="block">ContextDataProvider for ThreadContext data.</div>
+<div class="block">ContextDataProvider for <code>Map&lt;String, String&gt;</code> data.</div>
+<dl class="notes">
+<dt>Since:</dt>
+<dd>2.24.0</dd>
+</dl>
 </section>
 <section class="summary">
 <ul class="summary-list">
@@ -96,7 +100,7 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Constructor</div>
 <div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ThreadContextDataProvider</a>()</code></div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ScopedContextDataProvider</a>()</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
@@ -112,15 +116,25 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/ [...]
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyContextData()" class="member-name-link">supplyContextData</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addAll(java.util.Map)" class="member-name-link">addAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" clas [...]
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
+<div class="block">Add all the keys in the current context to the provided Map.</div>
 </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyStringMap()" class="member-name-link">supplyStringMap</a>()</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(java.lang.String)" class="member-name-link">get</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns the context data as a StringMap.</div>
+<div class="block">Returns the key for a value from the context data.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns the number of items in this context.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/j [...]
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyContextData()" class="member-name-link">supplyContextData</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
 </div>
 </div>
 </div>
@@ -128,6 +142,9 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <div class="inherited-list">
 <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
 <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.logging.log4j.core.util.ContextDataProvider">Methods inherited from interface&nbsp;org.apache.logging.log4j.core.util.<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></h3>
+<code><a href="../util/ContextDataProvider.html#addAll(org.apache.logging.log4j.util.StringMap)">addAll</a></code></div>
 </section>
 </li>
 </ul>
@@ -141,8 +158,8 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <ul class="member-list">
 <li>
 <section class="detail" id="&lt;init&gt;()">
-<h3>ThreadContextDataProvider</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ThreadContextDataProvider</span>()</div>
+<h3>ScopedContextDataProvider</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ScopedContextDataProvider</span>()</div>
 </section>
 </li>
 </ul>
@@ -154,6 +171,22 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <h2>Method Details</h2>
 <ul class="member-list">
 <li>
+<section class="detail" id="get(java.lang.String)">
+<h3>get</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="externa [...]
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#get(java.lang.String)">ContextDataProvider</a></code></span></div>
+<div class="block">Returns the key for a value from the context data.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../util/ContextDataProvider.html#get(java.lang.String)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>key</code> - the key to locate.</dd>
+<dt>Returns:</dt>
+<dd>the value or null if it is not found.</dd>
+</dl>
+</section>
+</li>
+<li>
 <section class="detail" id="supplyContextData()">
 <h3>supplyContextData</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api [...]
@@ -172,20 +205,30 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 </section>
 </li>
 <li>
-<section class="detail" id="supplyStringMap()">
-<h3>supplyStringMap</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">supplyStringMap</span>()</div>
-<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#supplyStringMap()">ContextDataProvider</a></code></span></div>
-<div class="block">Returns the context data as a StringMap.
- <p>
-     Thread-safety note: The returned object can safely be passed off to another thread: future changes in the
-     underlying context data will not be reflected in the returned object.
- </p></div>
+<section class="detail" id="size()">
+<h3>size</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#size()">ContextDataProvider</a></code></span></div>
+<div class="block">Returns the number of items in this context.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
-<dd><code><a href="../util/ContextDataProvider.html#supplyStringMap()">supplyStringMap</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dd><code><a href="../util/ContextDataProvider.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
 <dt>Returns:</dt>
-<dd>the context data in a StringMap.</dd>
+<dd>the number of items in the context.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addAll(java.util.Map)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="ex [...]
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#addAll(java.util.Map)">ContextDataProvider</a></code></span></div>
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../util/ContextDataProvider.html#addAll(java.util.Map)">addAll</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>map</code> - the StringMap to add the keys and values to.</dd>
 </dl>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html
deleted file mode 100644
index 05fa924dc9..0000000000
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-<!-- Generated by javadoc (17) -->
-<title>ThreadContextDataInjector.ForCopyOnWriteThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForCopyOnWriteThreadContextMap">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var evenRowColor = "even-row-color";
-var oddRowColor = "odd-row-color";
-var tableTab = "table-tab";
-var activeTableTab = "active-table-tab";
-var pathtoroot = "../../../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top">
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html#class">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div>
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ThreadContextDataInjector.ForCopyOnWriteThreadContextMap" class="title">Class ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>All Implemented Interfaces:</dt>
-<dd><code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-</dl>
-<dl class="notes">
-<dt>Enclosing class:</dt>
-<dd><a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dd>
-</dl>
-<hr>
-<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name type-name-label">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
-implements <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.
- <p>
- If there are no configuration properties, this injector will return the thread context's internal data
- structure. Otherwise the configuration properties are combined with the thread context key-value pairs into the
- specified reusable StringMap.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="inherited-list">
-<h3 id="fields-inherited-from-class-org.apache.logging.log4j.core.ContextDataInjector">Fields inherited from interface&nbsp;org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></h3>
-<code><a href="../ContextDataInjector.html#KEY">KEY</a></code></div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ForCopyOnWriteThreadContextMap</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">If there are no configuration properties, this injector will return the thread context's internal data
- structure.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.ReadOnlyStringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rawContextData()" class="member-name-link">rawContextData</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>ForCopyOnWriteThreadContextMap</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ForCopyOnWriteThreadContextMap</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">
-<h3>injectContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">injectContextData</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log4j.core.config">Proper [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</span></div>
-<div class="block">If there are no configuration properties, this injector will return the thread context's internal data
- structure. Otherwise the configuration properties are combined with the thread context key-value pairs into the
- specified reusable StringMap.</div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">injectContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Parameters:</dt>
-<dd><code>props</code> - list of configuration properties, may be <code>null</code></dd>
-<dd><code>ignore</code> - a <code>StringMap</code> instance from the log event</dd>
-<dt>Returns:</dt>
-<dd>a <code>StringMap</code> combining configuration properties with thread context data</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list-long">
-<li><a href="ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)"><code>ThreadContextDataInjector.copyProperties(List, StringMap)</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="rawContextData()">
-<h3>rawContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.ReadOnlyStringMap</span>&nbsp;<span class="element-name">rawContextData</span>()</div>
-<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../ContextDataInjector.html#rawContextData()">ContextDataInjector</a></code></span></div>
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context. Configuration properties
- are not included in the result.
- <p>
- This method may be called multiple times for each log event by Filters and Lookups and implementors should take
- care to make this method as performant as possible while preserving at least the following thread-safety
- guarantee.
- </p><p>
- Thread-safety note: The returned object can only be safely used <em>in the current thread</em>. Changes in the
- underlying context may or may not be reflected in the returned object, depending on the context data source and
- the implementation of this method. It is not safe to pass the returned object to another thread.
- </p></div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#rawContextData()">rawContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Returns:</dt>
-<dd>a <code>ReadOnlyStringMap</code> object reflecting the current state of the context, may not return <code>null</code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-<footer role="contentinfo">
-<hr>
-<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
-</footer>
-</div>
-</div>
-</body>
-</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html
deleted file mode 100644
index 0ce150c3e2..0000000000
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-<!-- Generated by javadoc (17) -->
-<title>ThreadContextDataInjector.ForDefaultThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForDefaultThreadContextMap">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var evenRowColor = "even-row-color";
-var oddRowColor = "odd-row-color";
-var tableTab = "table-tab";
-var activeTableTab = "active-table-tab";
-var pathtoroot = "../../../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top">
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ThreadContextDataInjector.ForDefaultThreadContextMap.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html#class">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div>
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><label for="search-input">SEARCH:</label>
-<input type="text" id="search-input" value="search" disabled="disabled">
-<input type="reset" id="reset-button" value="reset" disabled="disabled">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ThreadContextDataInjector.ForDefaultThreadContextMap" class="title">Class ThreadContextDataInjector.ForDefaultThreadContextMap</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForDefaultThreadContextMap</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>All Implemented Interfaces:</dt>
-<dd><code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-</dl>
-<dl class="notes">
-<dt>Enclosing class:</dt>
-<dd><a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dd>
-</dl>
-<hr>
-<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name type-name-label">ThreadContextDataInjector.ForDefaultThreadContextMap</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
-implements <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).
- <p>
- This injector always puts key-value pairs into the specified reusable StringMap.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="inherited-list">
-<h3 id="fields-inherited-from-class-org.apache.logging.log4j.core.ContextDataInjector">Fields inherited from interface&nbsp;org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></h3>
-<code><a href="../ContextDataInjector.html#KEY">KEY</a></code></div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ForDefaultThreadContextMap</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.ReadOnlyStringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rawContextData()" class="member-name-link">rawContextData</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>ForDefaultThreadContextMap</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ForDefaultThreadContextMap</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">
-<h3>injectContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">injectContextData</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log4j.core.config">Proper [...]
- org.apache.logging.log4j.util.StringMap&nbsp;ignore)</span></div>
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">injectContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Parameters:</dt>
-<dd><code>props</code> - list of configuration properties, may be <code>null</code></dd>
-<dd><code>ignore</code> - a <code>StringMap</code> instance from the log event</dd>
-<dt>Returns:</dt>
-<dd>a <code>StringMap</code> combining configuration properties with thread context data</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list-long">
-<li><a href="ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)"><code>ThreadContextDataInjector.copyProperties(List, StringMap)</code></a></li>
-</ul>
-</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="rawContextData()">
-<h3>rawContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.ReadOnlyStringMap</span>&nbsp;<span class="element-name">rawContextData</span>()</div>
-<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../ContextDataInjector.html#rawContextData()">ContextDataInjector</a></code></span></div>
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context. Configuration properties
- are not included in the result.
- <p>
- This method may be called multiple times for each log event by Filters and Lookups and implementors should take
- care to make this method as performant as possible while preserving at least the following thread-safety
- guarantee.
- </p><p>
- Thread-safety note: The returned object can only be safely used <em>in the current thread</em>. Changes in the
- underlying context may or may not be reflected in the returned object, depending on the context data source and
- the implementation of this method. It is not safe to pass the returned object to another thread.
- </p></div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#rawContextData()">rawContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Returns:</dt>
-<dd>a <code>ReadOnlyStringMap</code> object reflecting the current state of the context, may not return <code>null</code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-<footer role="contentinfo">
-<hr>
-<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
-</footer>
-</div>
-</div>
-</body>
-</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html
index ec24d9efec..6cc5298a05 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html
@@ -112,15 +112,25 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/ [...]
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyContextData()" class="member-name-link">supplyContextData</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addAll(java.util.Map)" class="member-name-link">addAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" clas [...]
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#get(java.lang.String)" class="member-name-link">get</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns the key for a value from the context data.</div>
 </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyStringMap()" class="member-name-link">supplyStringMap</a>()</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Returns the number of items in this context.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/j [...]
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supplyContextData()" class="member-name-link">supplyContextData</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns the context data as a StringMap.</div>
+<div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
 </div>
 </div>
 </div>
@@ -128,6 +138,9 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <div class="inherited-list">
 <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
 <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.logging.log4j.core.util.ContextDataProvider">Methods inherited from interface&nbsp;org.apache.logging.log4j.core.util.<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></h3>
+<code><a href="../util/ContextDataProvider.html#addAll(org.apache.logging.log4j.util.StringMap)">addAll</a></code></div>
 </section>
 </li>
 </ul>
@@ -154,6 +167,22 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 <h2>Method Details</h2>
 <ul class="member-list">
 <li>
+<section class="detail" id="get(java.lang.String)">
+<h3>get</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="externa [...]
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#get(java.lang.String)">ContextDataProvider</a></code></span></div>
+<div class="block">Returns the key for a value from the context data.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../util/ContextDataProvider.html#get(java.lang.String)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>key</code> - the key to locate.</dd>
+<dt>Returns:</dt>
+<dd>the value or null if it is not found.</dd>
+</dl>
+</section>
+</li>
+<li>
 <section class="detail" id="supplyContextData()">
 <h3>supplyContextData</h3>
 <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api [...]
@@ -172,20 +201,30 @@ implements <a href="../util/ContextDataProvider.html" title="interface in org.ap
 </section>
 </li>
 <li>
-<section class="detail" id="supplyStringMap()">
-<h3>supplyStringMap</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">supplyStringMap</span>()</div>
-<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#supplyStringMap()">ContextDataProvider</a></code></span></div>
-<div class="block">Returns the context data as a StringMap.
- <p>
-     Thread-safety note: The returned object can safely be passed off to another thread: future changes in the
-     underlying context data will not be reflected in the returned object.
- </p></div>
+<section class="detail" id="size()">
+<h3>size</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#size()">ContextDataProvider</a></code></span></div>
+<div class="block">Returns the number of items in this context.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
-<dd><code><a href="../util/ContextDataProvider.html#supplyStringMap()">supplyStringMap</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dd><code><a href="../util/ContextDataProvider.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
 <dt>Returns:</dt>
-<dd>the context data in a StringMap.</dd>
+<dd>the number of items in the context.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addAll(java.util.Map)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="ex [...]
+<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../util/ContextDataProvider.html#addAll(java.util.Map)">ContextDataProvider</a></code></span></div>
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code><a href="../util/ContextDataProvider.html#addAll(java.util.Map)">addAll</a></code>&nbsp;in interface&nbsp;<code><a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></code></dd>
+<dt>Parameters:</dt>
+<dd><code>map</code> - the StringMap to add the keys and values to.</dd>
 </dl>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextData.html
similarity index 87%
copy from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
copy to javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextData.html
index 9fd91df3dc..1782f60e65 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextData.html
@@ -2,10 +2,10 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.logging.log4j.core.impl.ContextData (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ContextDataInjectorFactory">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ContextData">
 <meta name="generator" content="javadoc/ClassUseWriter">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -29,7 +29,7 @@ loadScripts(document, 'script');</script>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
 <li><a href="../../../../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="../ContextData.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
 <li class="nav-bar-cell1-rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</h1>
+<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ContextData" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ContextData</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</main>
+No usage of org.apache.logging.log4j.core.impl.ContextData</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/Log4jLogEvent.Builder.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/Log4jLogEvent.Builder.html
index 08eb82e477..8691f1b361 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/Log4jLogEvent.Builder.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/Log4jLogEvent.Builder.html
@@ -107,61 +107,58 @@ loadScripts(document, 'script');</script>
 <div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setContextData(org.apache.logging.log4j.util.StringMap)" class="member-name-link">setContextData</a><wbr>(org.apache.logging.log4j.util.StringMap&nbsp;contextData)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setContextDataInjector(org.apache.logging.log4j.core.ContextDataInjector)" class="member-name-link">setContextDataInjector</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;contextDataInjector)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setContextStack(org.apache.logging.log4j.ThreadContext.ContextStack)" class="member-name-link">setContextStack</a><wbr>(org.apache.logging.log4j.ThreadContext.ContextStack&nbsp;contextStack)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setContextStack(org.apache.logging.log4j.ThreadContext.ContextStack)" class="member-name-link">setContextStack</a><wbr>(org.apache.logging.log4j.ThreadContext.ContextStack&nbsp;contextStack)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setEndOfBatch(boolean)" class="member-name-link">setEndOfBatch</a><wbr>(boolean&nbsp;endOfBatch)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setEndOfBatch(boolean)" class="member-name-link">setEndOfBatch</a><wbr>(boolean&nbsp;endOfBatch)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setIncludeLocation(boolean)" class="member-name-link">setIncludeLocation</a><wbr>(boolean&nbsp;includeLocation)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setIncludeLocation(boolean)" class="member-name-link">setIncludeLocation</a><wbr>(boolean&nbsp;includeLocation)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setInstant(org.apache.logging.log4j.core.time.Instant)" class="member-name-link">setInstant</a><wbr>(<a href="../../time/Instant.html" title="interface in org.apache.logging.log4j.core.time">Instant</a>&nbsp;instant)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setInstant(org.apache.logging.log4j.core.time.Instant)" class="member-name-link">setInstant</a><wbr>(<a href="../../time/Instant.html" title="interface in org.apache.logging.log4j.core.time">Instant</a>&nbsp;instant)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLevel(org.apache.logging.log4j.Level)" class="member-name-link">setLevel</a><wbr>(org.apache.logging.log4j.Level&nbsp;level)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLevel(org.apache.logging.log4j.Level)" class="member-name-link">setLevel</a><wbr>(org.apache.logging.log4j.Level&nbsp;level)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLoggerFqcn(java.lang.String)" class="member-name-link">setLoggerFqcn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerFqcn)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLoggerFqcn(java.lang.String)" class="member-name-link">setLoggerFqcn</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerFqcn)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLoggerName(java.lang.String)" class="member-name-link">setLoggerName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerName)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setLoggerName(java.lang.String)" class="member-name-link">setLoggerName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;loggerName)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setMarker(org.apache.logging.log4j.Marker)" class="member-name-link">setMarker</a><wbr>(org.apache.logging.log4j.Marker&nbsp;marker)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setMarker(org.apache.logging.log4j.Marker)" class="member-name-link">setMarker</a><wbr>(org.apache.logging.log4j.Marker&nbsp;marker)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setMessage(org.apache.logging.log4j.message.Message)" class="member-name-link">setMessage</a><wbr>(org.apache.logging.log4j.message.Message&nbsp;message)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setMessage(org.apache.logging.log4j.message.Message)" class="member-name-link">setMessage</a><wbr>(org.apache.logging.log4j.message.Message&nbsp;message)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setNanoTime(long)" class="member-name-link">setNanoTime</a><wbr>(long&nbsp;nanoTime)</code></div>
-<div class="col-last even-row-color">
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setNanoTime(long)" class="member-name-link">setNanoTime</a><wbr>(long&nbsp;nanoTime)</code></div>
+<div class="col-last odd-row-color">
 <div class="block">Sets the nano time for the event.</div>
 </div>
-<div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setSource(java.lang.StackTraceElement)" class="member-name-link">setSource</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;source)</code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadId(long)" class="member-name-link">setThreadId</a><wbr>(long&nbsp;threadId)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setSource(java.lang.StackTraceElement)" class="member-name-link">setSource</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackTraceElement.html" title="class or interface in java.lang" class="external-link">StackTraceElement</a>&nbsp;source)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadName(java.lang.String)" class="member-name-link">setThreadName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;threadName)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadId(long)" class="member-name-link">setThreadId</a><wbr>(long&nbsp;threadId)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadPriority(int)" class="member-name-link">setThreadPriority</a><wbr>(int&nbsp;threadPriority)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadName(java.lang.String)" class="member-name-link">setThreadName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;threadName)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThrown(java.lang.Throwable)" class="member-name-link">setThrown</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;thrown)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThreadPriority(int)" class="member-name-link">setThreadPriority</a><wbr>(int&nbsp;threadPriority)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
 <div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThrownProxy(org.apache.logging.log4j.core.impl.ThrowableProxy)" class="member-name-link">setThrownProxy</a><wbr>(<a href="../ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a>&nbsp;thrownProxy)</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThrown(java.lang.Throwable)" class="member-name-link">setThrown</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;thrown)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 <div class="col-first odd-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
-<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setTimeMillis(long)" class="member-name-link">setTimeMillis</a><wbr>(long&nbsp;timeMillis)</code></div>
+<div class="col-second odd-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setThrownProxy(org.apache.logging.log4j.core.impl.ThrowableProxy)" class="member-name-link">setThrownProxy</a><wbr>(<a href="../ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a>&nbsp;thrownProxy)</code></div>
 <div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><code><a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></code></div>
+<div class="col-second even-row-color"><span class="type-name-label">Log4jLogEvent.Builder.</span><code><a href="../Log4jLogEvent.Builder.html#setTimeMillis(long)" class="member-name-link">setTimeMillis</a><wbr>(long&nbsp;timeMillis)</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
 </div>
 <div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.logging.log4j.core.impl</a> with parameters of type <a href="../Log4jLogEvent.Builder.html" title="class in org.apache.logging.log4j.core.impl">Log4jLogEvent.Builder</a></span></div>
 <div class="summary-table three-column-summary">
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/LogEventFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/LogEventFactory.html
index bbd872775a..b15a9c8c09 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/LogEventFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/LogEventFactory.html
@@ -125,8 +125,7 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code><a href="../LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log [...]
- <a href="../../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../../time/Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../../time/NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ScopedContextDataProvider.html
similarity index 85%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ScopedContextDataProvider.html
index 22931d332e..e50f94b7e7 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ScopedContextDataProvider.html
@@ -2,10 +2,10 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.logging.log4j.core.impl.ScopedContextDataProvider (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ScopedContextDataProvider">
 <meta name="generator" content="javadoc/ClassUseWriter">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
@@ -29,7 +29,7 @@ loadScripts(document, 'script');</script>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
 <li><a href="../../../../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="../ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
 <li class="nav-bar-cell1-rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ThreadContextDataInjector</h1>
+<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ScopedContextDataProvider" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ScopedContextDataProvider</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ThreadContextDataInjector</main>
+No usage of org.apache.logging.log4j.core.impl.ScopedContextDataProvider</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/Activator.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/Activator.html
new file mode 100644
index 0000000000..6ddebcfadb
--- /dev/null
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/Activator.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>Activator (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl.internal, class: Activator">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/Activator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
+<h1 title="Class Activator" class="title">Class Activator</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">org.apache.logging.log4j.util.ProviderActivator
+<div class="inheritance">org.apache.logging.log4j.core.impl.internal.Activator</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code>org.osgi.framework.BundleActivator</code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="annotations">@Header(name="Bundle-Activator",value="${@class}") @Header(name="Bundle-ActivationPolicy",value="lazy")
+</span><span class="modifiers">public class </span><span class="element-name type-name-label">Activator</span>
+<span class="extends-implements">extends org.apache.logging.log4j.util.ProviderActivator</span></div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="inherited-list">
+<h3 id="fields-inherited-from-class-org.apache.logging.log4j.util.ProviderActivator">Fields inherited from class&nbsp;org.apache.logging.log4j.util.ProviderActivator</h3>
+<code>API_VERSION</code></div>
+</section>
+</li>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Activator</a>()</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.logging.log4j.util.ProviderActivator">Methods inherited from class&nbsp;org.apache.logging.log4j.util.ProviderActivator</h3>
+<code>start, stop</code></div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;()">
+<h3>Activator</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Activator</span>()</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html
similarity index 53%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html
index 6c9c85fe1d..8f96fb7972 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html
@@ -2,24 +2,24 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>ThreadContextDataInjector.ForGarbageFreeThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>QueuedScopedContextProvider (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForGarbageFreeThreadContextMap">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl.internal, class: QueuedScopedContextProvider">
 <meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
 <body class="class-declaration-page">
 <script type="text/javascript">var evenRowColor = "even-row-color";
 var oddRowColor = "odd-row-color";
 var tableTab = "table-tab";
 var activeTableTab = "active-table-tab";
-var pathtoroot = "../../../../../../";
+var pathtoroot = "../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -31,28 +31,28 @@ loadScripts(document, 'script');</script>
 <div class="top-nav" id="navbar-top">
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../index.html">Overview</a></li>
+<li><a href="../../../../../../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="nav-bar-cell1-rev">Class</li>
-<li><a href="class-use/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html">Use</a></li>
+<li><a href="class-use/QueuedScopedContextProvider.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
 </ul>
 </div>
 <div class="sub-nav">
 <div>
 <ul class="sub-nav-list">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method-summary">Method</a></li>
 </ul>
 <ul class="sub-nav-list">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method-detail">Method</a></li>
 </ul>
@@ -69,39 +69,50 @@ loadScripts(document, 'script');</script>
 <main role="main">
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl</a></div>
-<h1 title="Class ThreadContextDataInjector.ForGarbageFreeThreadContextMap" class="title">Class ThreadContextDataInjector.ForGarbageFreeThreadContextMap</h1>
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
+<h1 title="Class QueuedScopedContextProvider" class="title">Class QueuedScopedContextProvider</h1>
 </div>
 <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForGarbageFreeThreadContextMap</div>
+<div class="inheritance">org.apache.logging.log4j.spi.AbstractScopedContextProvider
+<div class="inheritance">org.apache.logging.log4j.core.impl.internal.QueuedScopedContextProvider</div>
+</div>
 </div>
 <section class="class-description" id="class-description">
 <dl class="notes">
 <dt>All Implemented Interfaces:</dt>
-<dd><code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-</dl>
-<dl class="notes">
-<dt>Enclosing class:</dt>
-<dd><a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></dd>
+<dd><code>org.apache.logging.log4j.spi.ScopedContextProvider</code></dd>
 </dl>
 <hr>
-<div class="type-signature"><span class="modifiers">public static class </span><span class="element-name type-name-label">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
-implements <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></span></div>
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.
- <p>
- This injector always puts key-value pairs into the specified reusable StringMap.</div>
+<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">QueuedScopedContextProvider</span>
+<span class="extends-implements">extends org.apache.logging.log4j.spi.AbstractScopedContextProvider</span></div>
 </section>
 <section class="summary">
 <ul class="summary-list">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<li>
+<section class="nested-class-summary" id="nested-class-summary">
+<h2>Nested Class Summary</h2>
+<div class="inherited-list">
+<h2 id="nested-classes-inherited-from-class-org.apache.logging.log4j.spi.AbstractScopedContextProvider">Nested classes/interfaces inherited from class&nbsp;org.apache.logging.log4j.spi.AbstractScopedContextProvider</h2>
+<code>org.apache.logging.log4j.spi.AbstractScopedContextProvider.AbstractWorker, org.apache.logging.log4j.spi.AbstractScopedContextProvider.Instance, org.apache.logging.log4j.spi.AbstractScopedContextProvider.KeyValueInstance, org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance</code></div>
+</section>
+</li>
 <!-- =========== FIELD SUMMARY =========== -->
 <li>
 <section class="field-summary" id="field-summary">
 <h2>Field Summary</h2>
+<div class="caption"><span>Fields</span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Field</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>static final org.apache.logging.log4j.spi.ScopedContextProvider</code></div>
+<div class="col-second even-row-color"><code><a href="#INSTANCE" class="member-name-link">INSTANCE</a></code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
 <div class="inherited-list">
-<h3 id="fields-inherited-from-class-org.apache.logging.log4j.core.ContextDataInjector">Fields inherited from interface&nbsp;org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></h3>
-<code><a href="../ContextDataInjector.html#KEY">KEY</a></code></div>
+<h3 id="fields-inherited-from-class-org.apache.logging.log4j.spi.AbstractScopedContextProvider">Fields inherited from class&nbsp;org.apache.logging.log4j.spi.AbstractScopedContextProvider</h3>
+<code>LOGGER</code></div>
 </section>
 </li>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
@@ -112,7 +123,7 @@ implements <a href="../ContextDataInjector.html" title="interface in org.apache.
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Constructor</div>
 <div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ForGarbageFreeThreadContextMap</a>()</code></div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">QueuedScopedContextProvider</a>()</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
@@ -128,22 +139,28 @@ implements <a href="../ContextDataInjector.html" title="interface in org.apache.
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)" class="member-name-link">injectContextData</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log [...]
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</code></div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addScopedContext(org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance)" class="member-name-link">addScopedContext</a><wbr>(org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance&nbsp;context)</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
+<div class="block">Add the ScopeContext.</div>
 </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.util.ReadOnlyStringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rawContextData()" class="member-name-link">rawContextData</a>()</code></div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;org.apache.logging.log4j.spi.AbstractScopedContextProvider.Instance&gt;</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getContext()" class="member-name-link">getContext</a>()</code></div>
 <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context.</div>
+<div class="block">Returns an immutable Map containing all the key/value pairs as Object objects.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeScopedContext()" class="member-name-link">removeScopedContext</a>()</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
+<div class="block">Remove the top ScopeContext.</div>
 </div>
 </div>
 </div>
 </div>
 <div class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.logging.log4j.spi.AbstractScopedContextProvider">Methods inherited from class&nbsp;org.apache.logging.log4j.spi.AbstractScopedContextProvider</h3>
+<code>addContextMapTo, getContextMap, getString, getValue, newInstance, newKeyValueInstance, newMapInstance, newScopedContext, newScopedContext, newScopedContext, newScopedContext</code></div>
+<div class="inherited-list">
 <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
 <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
 </section>
@@ -152,6 +169,20 @@ implements <a href="../ContextDataInjector.html" title="interface in org.apache.
 </section>
 <section class="details">
 <ul class="details-list">
+<!-- ============ FIELD DETAIL =========== -->
+<li>
+<section class="field-details" id="field-detail">
+<h2>Field Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="INSTANCE">
+<h3>INSTANCE</h3>
+<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">org.apache.logging.log4j.spi.ScopedContextProvider</span>&nbsp;<span class="element-name">INSTANCE</span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <li>
 <section class="constructor-details" id="constructor-detail">
@@ -159,8 +190,8 @@ implements <a href="../ContextDataInjector.html" title="interface in org.apache.
 <ul class="member-list">
 <li>
 <section class="detail" id="&lt;init&gt;()">
-<h3>ForGarbageFreeThreadContextMap</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ForGarbageFreeThreadContextMap</span>()</div>
+<h3>QueuedScopedContextProvider</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">QueuedScopedContextProvider</span>()</div>
 </section>
 </li>
 </ul>
@@ -172,50 +203,39 @@ implements <a href="../ContextDataInjector.html" title="interface in org.apache.
 <h2>Method Details</h2>
 <ul class="member-list">
 <li>
-<section class="detail" id="injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">
-<h3>injectContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">injectContextData</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../config/Property.html" title="class in org.apache.logging.log4j.core.config">Proper [...]
- org.apache.logging.log4j.util.StringMap&nbsp;reusable)</span></div>
-<div class="block">Puts key-value pairs from both the specified list of properties as well as the thread context into the
- specified reusable StringMap.</div>
+<section class="detail" id="getContext()">
+<h3>getContext</h3>
+<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;org.apache.logging.log4j.spi.AbstractScopedContextProvider.Instance&gt;</span>&nbsp;<span class="element-name">getContext</span>()</div>
+<div class="block">Returns an immutable Map containing all the key/value pairs as Object objects.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#injectContextData(java.util.List,org.apache.logging.log4j.util.StringMap)">injectContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Parameters:</dt>
-<dd><code>props</code> - list of configuration properties, may be <code>null</code></dd>
-<dd><code>reusable</code> - a <code>StringMap</code> instance that may be reused to avoid creating temporary objects</dd>
+<dd><code>getContext</code>&nbsp;in class&nbsp;<code>org.apache.logging.log4j.spi.AbstractScopedContextProvider</code></dd>
 <dt>Returns:</dt>
-<dd>a <code>StringMap</code> combining configuration properties with thread context data</dd>
-<dt>See Also:</dt>
-<dd>
-<ul class="see-list-long">
-<li><a href="ThreadContextDataInjector.html#copyProperties(java.util.List,org.apache.logging.log4j.util.StringMap)"><code>ThreadContextDataInjector.copyProperties(List, StringMap)</code></a></li>
-</ul>
-</dd>
+<dd>An immutable copy of the Map at the current scope.</dd>
 </dl>
 </section>
 </li>
 <li>
-<section class="detail" id="rawContextData()">
-<h3>rawContextData</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.ReadOnlyStringMap</span>&nbsp;<span class="element-name">rawContextData</span>()</div>
-<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../ContextDataInjector.html#rawContextData()">ContextDataInjector</a></code></span></div>
-<div class="block">Returns a <code>ReadOnlyStringMap</code> object reflecting the current state of the context. Configuration properties
- are not included in the result.
- <p>
- This method may be called multiple times for each log event by Filters and Lookups and implementors should take
- care to make this method as performant as possible while preserving at least the following thread-safety
- guarantee.
- </p><p>
- Thread-safety note: The returned object can only be safely used <em>in the current thread</em>. Changes in the
- underlying context may or may not be reflected in the returned object, depending on the context data source and
- the implementation of this method. It is not safe to pass the returned object to another thread.
- </p></div>
+<section class="detail" id="addScopedContext(org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance)">
+<h3>addScopedContext</h3>
+<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addScopedContext</span><wbr><span class="parameters">(org.apache.logging.log4j.spi.AbstractScopedContextProvider.MapInstance&nbsp;context)</span></div>
+<div class="block">Add the ScopeContext.</div>
 <dl class="notes">
 <dt>Specified by:</dt>
-<dd><code><a href="../ContextDataInjector.html#rawContextData()">rawContextData</a></code>&nbsp;in interface&nbsp;<code><a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></code></dd>
-<dt>Returns:</dt>
-<dd>a <code>ReadOnlyStringMap</code> object reflecting the current state of the context, may not return <code>null</code></dd>
+<dd><code>addScopedContext</code>&nbsp;in class&nbsp;<code>org.apache.logging.log4j.spi.AbstractScopedContextProvider</code></dd>
+<dt>Parameters:</dt>
+<dd><code>context</code> - The ScopeContext.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="removeScopedContext()">
+<h3>removeScopedContext</h3>
+<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeScopedContext</span>()</div>
+<div class="block">Remove the top ScopeContext.</div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>removeScopedContext</code>&nbsp;in class&nbsp;<code>org.apache.logging.log4j.spi.AbstractScopedContextProvider</code></dd>
 </dl>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html
new file mode 100644
index 0000000000..54f75f170a
--- /dev/null
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html
@@ -0,0 +1,481 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>ReusableMessageFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl.internal, class: ReusableMessageFactory">
+<meta name="generator" content="javadoc/ClassWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">var evenRowColor = "even-row-color";
+var oddRowColor = "odd-row-color";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="nav-bar-cell1-rev">Class</li>
+<li><a href="class-use/ReusableMessageFactory.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-summary">Method</a></li>
+</ul>
+<ul class="sub-nav-list">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method-detail">Method</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
+<h1 title="Class ReusableMessageFactory" class="title">Class ReusableMessageFactory</h1>
+</div>
+<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
+<div class="inheritance">org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code>org.apache.logging.log4j.kit.message.RecyclingMessageFactory</code>, <code>org.apache.logging.log4j.message.MessageFactory</code>, <code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+<hr>
+<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">ReusableMessageFactory</span>
+<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
+implements org.apache.logging.log4j.kit.message.RecyclingMessageFactory</span></div>
+<div class="block">Message factory that avoids allocating temporary objects where possible.
+ <p>
+     Message instances are cached in a <code>Recycler</code> and reused when a new message is requested.
+ </p>
+ Message instances are cached in a <code>Recycler</code> and reused when a new message is requested.</div>
+<dl class="notes">
+<dt>Since:</dt>
+<dd>3.0.0</dd>
+<dt>See Also:</dt>
+<dd>
+<ul class="see-list">
+<li><code>Recycler</code></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<li>
+<section class="constructor-summary" id="constructor-summary">
+<h2>Constructor Summary</h2>
+<div class="caption"><span>Constructors</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Constructor</div>
+<div class="table-header col-last">Description</div>
+<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableMessageFactory</a><wbr>(org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
+</div>
+</section>
+</li>
+<!-- ========== METHOD SUMMARY =========== -->
+<li>
+<section class="method-summary" id="method-summary">
+<h2>Method Summary</h2>
+<div id="method-summary-table">
+<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab( [...]
+<div id="method-summary-table.tabpanel" role="tabpanel">
+<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.CharSequence)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;charSequence)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;message)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object...)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;params)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp [...]
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" [...]
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" cla [...]
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p8)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.logging.log4j.message.Message</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)" class="member-name-link">newMessage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface i [...]
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p8,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p9)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#recycle(org.apache.logging.log4j.message.Message)" class="member-name-link">recycle</a><wbr>(org.apache.logging.log4j.message.Message&nbsp;message)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or  [...]
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<li>
+<section class="constructor-details" id="constructor-detail">
+<h2>Constructor Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="&lt;init&gt;(org.apache.logging.log4j.kit.recycler.RecyclerFactory)">
+<h3>ReusableMessageFactory</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ReusableMessageFactory</span><wbr><span class="parameters">(org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</span></div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="recycle(org.apache.logging.log4j.message.Message)">
+<h3>recycle</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">recycle</span><wbr><span class="parameters">(org.apache.logging.log4j.message.Message&nbsp;message)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>recycle</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.kit.message.RecyclingMessageFactory</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.CharSequence)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;charSequence)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object...)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>...&nbsp;params)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p8)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p0,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p1,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p2,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p3,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p4,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p5,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p6,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p7,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p8,
+ <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;p9)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory2</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.String)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;message)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory</code></dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="newMessage(java.lang.Object)">
+<h3>newMessage</h3>
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.logging.log4j.message.Message</span>&nbsp;<span class="element-name">newMessage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;message)</span></div>
+<dl class="notes">
+<dt>Specified by:</dt>
+<dd><code>newMessage</code>&nbsp;in interface&nbsp;<code>org.apache.logging.log4j.message.MessageFactory</code></dd>
+</dl>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/Activator.html
similarity index 61%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/Activator.html
index f0e8f6ae3a..c298956140 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/Activator.html
@@ -2,20 +2,20 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForGarbageFreeThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.logging.log4j.core.impl.internal.Activator (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForGarbageFreeThreadContextMap">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl.internal, class: Activator">
 <meta name="generator" content="javadoc/ClassUseWriter">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
 <body class="class-use-page">
-<script type="text/javascript">var pathtoroot = "../../../../../../../";
+<script type="text/javascript">var pathtoroot = "../../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -27,14 +27,14 @@ loadScripts(document, 'script');</script>
 <div class="top-nav" id="navbar-top">
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../../index.html">Overview</a></li>
+<li><a href="../../../../../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="../Activator.html" title="class in org.apache.logging.log4j.core.impl.internal">Class</a></li>
 <li class="nav-bar-cell1-rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html#use">Help</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html#use">Help</a></li>
 </ul>
 </div>
 <div class="sub-nav">
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForGarbageFreeThreadContextMap" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForGarbageFreeThreadContextMap</h1>
+<h1 title="Uses of Class org.apache.logging.log4j.core.impl.internal.Activator" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.internal.Activator</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForGarbageFreeThreadContextMap</main>
+No usage of org.apache.logging.log4j.core.impl.internal.Activator</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/QueuedScopedContextProvider.html
similarity index 63%
copy from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
copy to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/QueuedScopedContextProvider.html
index 9fd91df3dc..2495acafa0 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/QueuedScopedContextProvider.html
@@ -2,20 +2,20 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.logging.log4j.core.impl.internal.QueuedScopedContextProvider (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ContextDataInjectorFactory">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl.internal, class: QueuedScopedContextProvider">
 <meta name="generator" content="javadoc/ClassUseWriter">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
 <body class="class-use-page">
-<script type="text/javascript">var pathtoroot = "../../../../../../../";
+<script type="text/javascript">var pathtoroot = "../../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -27,14 +27,14 @@ loadScripts(document, 'script');</script>
 <div class="top-nav" id="navbar-top">
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../../index.html">Overview</a></li>
+<li><a href="../../../../../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="../QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">Class</a></li>
 <li class="nav-bar-cell1-rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html#use">Help</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html#use">Help</a></li>
 </ul>
 </div>
 <div class="sub-nav">
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</h1>
+<h1 title="Uses of Class org.apache.logging.log4j.core.impl.internal.QueuedScopedContextProvider" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.internal.QueuedScopedContextProvider</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</main>
+No usage of org.apache.logging.log4j.core.impl.internal.QueuedScopedContextProvider</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/ReusableMessageFactory.html
similarity index 64%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/ReusableMessageFactory.html
index 9fd91df3dc..721433da13 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ContextDataInjectorFactory.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/class-use/ReusableMessageFactory.html
@@ -2,20 +2,20 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ContextDataInjectorFactory">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl.internal, class: ReusableMessageFactory">
 <meta name="generator" content="javadoc/ClassUseWriter">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
 <body class="class-use-page">
-<script type="text/javascript">var pathtoroot = "../../../../../../../";
+<script type="text/javascript">var pathtoroot = "../../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -27,14 +27,14 @@ loadScripts(document, 'script');</script>
 <div class="top-nav" id="navbar-top">
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../../../../index.html">Overview</a></li>
+<li><a href="../../../../../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="../ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">Class</a></li>
 <li class="nav-bar-cell1-rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html#use">Help</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html#use">Help</a></li>
 </ul>
 </div>
 <div class="sub-nav">
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ContextDataInjectorFactory" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</h1>
+<h1 title="Uses of Class org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ContextDataInjectorFactory</main>
+No usage of org.apache.logging.log4j.core.impl.internal.ReusableMessageFactory</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-summary.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-summary.html
new file mode 100644
index 0000000000..b705443d99
--- /dev/null
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-summary.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (17) -->
+<title>org.apache.logging.log4j.core.impl.internal (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: org.apache.logging.log4j.core.impl.internal">
+<meta name="generator" content="javadoc/PackageWriterImpl">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
+<script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
+</head>
+<body class="package-declaration-page">
+<script type="text/javascript">var pathtoroot = "../../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<div class="flex-box">
+<header role="banner" class="flex-header">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
+<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
+<li><a href="../../../../../../../index.html">Overview</a></li>
+<li class="nav-bar-cell1-rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html#package">Help</a></li>
+</ul>
+</div>
+<div class="sub-nav">
+<div>
+<ul class="sub-nav-list">
+<li>Package:&nbsp;</li>
+<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
+<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
+<li><a href="#class-summary">Classes and Interfaces</a></li>
+</ul>
+</div>
+<div class="nav-list-search"><label for="search-input">SEARCH:</label>
+<input type="text" id="search-input" value="search" disabled="disabled">
+<input type="reset" id="reset-button" value="reset" disabled="disabled">
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="flex-content">
+<main role="main">
+<div class="header">
+<h1 title="Package org.apache.logging.log4j.core.impl.internal" class="title">Package org.apache.logging.log4j.core.impl.internal</h1>
+</div>
+<hr>
+<div class="package-signature"><span class="annotations">@Export
+@Version("3.0.0")
+</span>package <span class="element-name">org.apache.logging.log4j.core.impl.internal</span></div>
+<section class="package-description" id="package-description">
+<div class="block">Log4j 2 private implementation classes.</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<li>
+<div id="related-package-summary">
+<div class="caption"><span>Related Packages</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Package</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.logging.log4j.core.impl</a></div>
+<div class="col-last even-row-color">
+<div class="block">Log4j 2 private implementation classes.</div>
+</div>
+</div>
+</div>
+</li>
+<li>
+<div id="class-summary">
+<div class="caption"><span>Classes</span></div>
+<div class="summary-table two-column-summary">
+<div class="table-header col-first">Class</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Activator.html" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="QueuedScopedContextProvider.html" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ReusableMessageFactory.html" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="block">Message factory that avoids allocating temporary objects where possible.</div>
+</div>
+</div>
+</div>
+</li>
+</ul>
+</section>
+</main>
+<footer role="contentinfo">
+<hr>
+<p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
+</footer>
+</div>
+</div>
+</body>
+</html>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-tree.html
similarity index 55%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-tree.html
index 940ee1a406..7aeed4df83 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-tree.html
@@ -2,11 +2,11 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForCopyOnWriteThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>org.apache.logging.log4j.core.impl.internal Class Hierarchy (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForCopyOnWriteThreadContextMap">
-<meta name="generator" content="javadoc/ClassUseWriter">
+<meta name="description" content="tree: package: org.apache.logging.log4j.core.impl.internal">
+<meta name="generator" content="javadoc/PackageTreeWriter">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
@@ -14,7 +14,7 @@
 <script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
 <script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
-<body class="class-use-page">
+<body class="package-tree-page">
 <script type="text/javascript">var pathtoroot = "../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
@@ -28,13 +28,13 @@ loadScripts(document, 'script');</script>
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
 <li><a href="../../../../../../../index.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
-<li class="nav-bar-cell1-rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="nav-bar-cell1-rev">Tree</li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html#use">Help</a></li>
+<li><a href="../../../../../../../help-doc.html#tree">Help</a></li>
 </ul>
 </div>
 <div class="sub-nav">
@@ -49,9 +49,33 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForCopyOnWriteThreadContextMap" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</h1>
+<h1 class="title">Hierarchy For Package org.apache.logging.log4j.core.impl.internal</h1>
+<span class="package-hierarchy-label">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</main>
+<section class="hierarchy">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
+<ul>
+<li class="circle">org.apache.logging.log4j.spi.AbstractScopedContextProvider (implements org.apache.logging.log4j.spi.ScopedContextProvider)
+<ul>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="QueuedScopedContextProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></li>
+</ul>
+</li>
+<li class="circle">org.apache.logging.log4j.util.ProviderActivator (implements org.osgi.framework.BundleActivator)
+<ul>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="Activator.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a></li>
+</ul>
+</li>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="ReusableMessageFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a> (implements org.apache.logging.log4j.kit.message.RecyclingMessageFactory)</li>
+</ul>
+</li>
+</ul>
+</section>
+</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForDefaultThreadContextMap.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-use.html
similarity index 75%
rename from javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForDefaultThreadContextMap.html
rename to javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-use.html
index 9162b37c60..ebf37cc38b 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/class-use/ThreadContextDataInjector.ForDefaultThreadContextMap.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/internal/package-use.html
@@ -2,11 +2,11 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc (17) -->
-<title>Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForDefaultThreadContextMap (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
+<title>Uses of Package org.apache.logging.log4j.core.impl.internal (Apache Log4j Core 3.0.0-SNAPSHOT API)</title>
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="description" content="use: package: org.apache.logging.log4j.core.impl, class: ThreadContextDataInjector, class: ForDefaultThreadContextMap">
-<meta name="generator" content="javadoc/ClassUseWriter">
+<meta name="description" content="use: package: org.apache.logging.log4j.core.impl.internal">
+<meta name="generator" content="javadoc/PackageUseWriter">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../script-dir/jquery-ui.min.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../../../../jquery-ui.overrides.css" title="Style">
@@ -14,7 +14,7 @@
 <script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
 <script type="text/javascript" src="../../../../../../../script-dir/jquery-ui.min.js"></script>
 </head>
-<body class="class-use-page">
+<body class="package-use-page">
 <script type="text/javascript">var pathtoroot = "../../../../../../../";
 loadScripts(document, 'script');</script>
 <noscript>
@@ -28,10 +28,10 @@ loadScripts(document, 'script');</script>
 <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
 <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
 <li><a href="../../../../../../../index.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">Class</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
 <li class="nav-bar-cell1-rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html#use">Help</a></li>
@@ -49,9 +49,9 @@ loadScripts(document, 'script');</script>
 <div class="flex-content">
 <main role="main">
 <div class="header">
-<h1 title="Uses of Class org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForDefaultThreadContextMap" class="title">Uses of Class<br>org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForDefaultThreadContextMap</h1>
+<h1 title="Uses of Package org.apache.logging.log4j.core.impl.internal" class="title">Uses of Package<br>org.apache.logging.log4j.core.impl.internal</h1>
 </div>
-No usage of org.apache.logging.log4j.core.impl.ThreadContextDataInjector.ForDefaultThreadContextMap</main>
+No usage of org.apache.logging.log4j.core.impl.internal</main>
 <footer role="contentinfo">
 <hr>
 <p class="legal-copy"><small><p align="center">               Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>.               All Rights Reserved.<br/>               Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of <a href="https://www.apache.org/">The Apache Software Foundation</a>.               Oracle and Java are registered trademarks of Oracle and/or its affiliates.               Other names may be t [...]
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-summary.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-summary.html
index f27f0d0bc0..5324808d44 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-summary.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-summary.html
@@ -82,6 +82,10 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color">
 <div class="block">Implementation of Log4j 2.</div>
 </div>
+<div class="col-first odd-row-color"><a href="internal/package-summary.html">org.apache.logging.log4j.core.impl.internal</a></div>
+<div class="col-last odd-row-color">
+<div class="block">Log4j 2 private implementation classes.</div>
+</div>
 </div>
 </div>
 </li>
@@ -96,13 +100,13 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color class-summary class-summary-tab2">
 <div class="block">Anchor for the ThreadContext.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ContextDataFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a></div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ContextData.html" title="class in org.apache.logging.log4j.core.impl">ContextData</a></div>
 <div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="../LogEvent.html#getContextData()">context data</a>.</div>
+<div class="block">General purpose utility class for accessing data accessible through ContextDataProviders.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ContextDataFactory.html" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a></div>
 <div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Factory for ContextDataInjectors.</div>
+<div class="block">Factory for creating the StringMap instances used to initialize LogEvents' <a href="../LogEvent.html#getContextData()">context data</a>.</div>
 </div>
 <div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CoreDefaultBundle.html" title="class in org.apache.logging.log4j.core.impl">CoreDefaultBundle</a></div>
 <div class="col-last odd-row-color class-summary class-summary-tab2">
@@ -223,36 +227,20 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color class-summary class-summary-tab2">
 <div class="block">Garbage-free LogEventFactory that recycles mutable <a href="../LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a> instances.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ThreadContextDataInjector.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block"><code>ThreadContextDataInjector</code> contains a number of strategies for copying key-value pairs from the various
- <code>ThreadContext</code> map implementations into a <code>StringMap</code>.</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a copy-on-write
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ThreadContextDataInjector.ForDefaultThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a></div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></div>
 <div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block">Default <code>ContextDataInjector</code> for the legacy <code>Map&lt;String, String&gt;</code>-based ThreadContext (which is
- also the ThreadContext implementation used for web applications).</div>
+<div class="block">ContextDataProvider for <code>Map&lt;String, String&gt;</code> data.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a></div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></div>
 <div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">The <code>ContextDataInjector</code> used when the ThreadContextMap implementation is a garbage-free
- StringMap-based data structure.</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
 <div class="block">ContextDataProvider for ThreadContext data.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ThrowableFormatOptions.html" title="class in org.apache.logging.log4j.core.impl">ThrowableFormatOptions</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ThrowableFormatOptions.html" title="class in org.apache.logging.log4j.core.impl">ThrowableFormatOptions</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
 <div class="block">Contains options which control how a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link"><code>Throwable</code></a> pattern is formatted.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ThrowableProxy.html" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
 <div class="block">Wraps a Throwable to add packaging information about each stack trace element.</div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-tree.html b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-tree.html
index 9050ad6d28..20e016fc00 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-tree.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/impl/package-tree.html
@@ -61,8 +61,8 @@ loadScripts(document, 'script');</script>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
 <ul>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ContextAnchor.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextAnchor</a></li>
+<li class="circle">org.apache.logging.log4j.core.impl.<a href="ContextData.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextData</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ContextDataFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a></li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="ContextDataInjectorFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="CoreDefaultBundle.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">CoreDefaultBundle</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="CoreInstanceFactoryPostProcessor.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">CoreInstanceFactoryPostProcessor</a> (implements org.apache.logging.log4j.plugins.di.spi.ConfigurableInstanceFactoryPostProcessor)</li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="CoreProperties.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">CoreProperties</a></li>
@@ -106,10 +106,7 @@ loadScripts(document, 'script');</script>
 </ul>
 </li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ReusableLogEventFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a> (implements org.apache.logging.log4j.core.impl.<a href="LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a>)</li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="ThreadContextDataInjector.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="ThreadContextDataInjector.ForDefaultThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
+<li class="circle">org.apache.logging.log4j.core.impl.<a href="ScopedContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a> (implements org.apache.logging.log4j.core.util.<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>)</li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ThreadContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a> (implements org.apache.logging.log4j.core.util.<a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>)</li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ThrowableFormatOptions.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThrowableFormatOptions</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="ThrowableProxy.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThrowableProxy</a></li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/lookup/ContextMapLookup.html b/javadoc/log4j-core/org/apache/logging/log4j/core/lookup/ContextMapLookup.html
index e1da32cb70..c690518b36 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/lookup/ContextMapLookup.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/lookup/ContextMapLookup.html
@@ -87,7 +87,7 @@ loadScripts(document, 'script');</script>
 <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
 implements <a href="StrLookup.html" title="interface in org.apache.logging.log4j.core.lookup">StrLookup</a></span></div>
 <div class="block">Looks up keys from the context. By default this is the <code>ThreadContext</code>, but users may
- <a href="../impl/ContextDataInjectorFactory.html" title="class in org.apache.logging.log4j.core.impl">configure</a> a custom <a href="../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core"><code>ContextDataInjector</code></a> which obtains context data
+ <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">configure</a> a custom <a href="../util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util"><code>ContextDataProvider</code></a> which obtains context data
  from some other source.</div>
 </section>
 <section class="summary">
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/package-summary.html b/javadoc/log4j-core/org/apache/logging/log4j/core/package-summary.html
index fa3cb13f7c..3ae65ab62e 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/package-summary.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/package-summary.html
@@ -150,72 +150,68 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color class-summary class-summary-tab1">
 <div class="block">Appends <a href="LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a>s.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Core.html" title="class in org.apache.logging.log4j.core">Core</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DefaultLoggerContextAccessor.html" title="class in org.apache.logging.log4j.core">DefaultLoggerContextAccessor</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Core.html" title="class in org.apache.logging.log4j.core">Core</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DefaultLoggerContextAccessor.html" title="class in org.apache.logging.log4j.core">DefaultLoggerContextAccessor</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
 <div class="block">Default implementation using the Core LoggerContext.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ErrorHandler.html" title="interface in org.apache.logging.log4j.core">ErrorHandler</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ErrorHandler.html" title="interface in org.apache.logging.log4j.core">ErrorHandler</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
 <div class="block">Appenders may delegate their error handling to <code>ErrorHandlers</code>.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Filter.html" title="interface in org.apache.logging.log4j.core">Filter</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">
+<div class="col-first even-row-color class-summary class-summary-tab1"><a href="Filter.html" title="interface in org.apache.logging.log4j.core">Filter</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab1">
 <div class="block">Interface that must be implemented to allow custom event filtering.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab3"><a href="Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab3">
+<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="Filter.Result.html" title="enum class in org.apache.logging.log4j.core">Filter.Result</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab3">
 <div class="block">The result that can returned from a filter method call.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Layout.html" title="interface in org.apache.logging.log4j.core">Layout</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">
+<div class="col-first even-row-color class-summary class-summary-tab1"><a href="Layout.html" title="interface in org.apache.logging.log4j.core">Layout</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab1">
 <div class="block">Converts <a href="LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a> instances into different layouts of data.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="LifeCycle.html" title="interface in org.apache.logging.log4j.core">LifeCycle</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="LifeCycle.html" title="interface in org.apache.logging.log4j.core">LifeCycle</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
 <div class="block">All proper Java frameworks implement some sort of object life cycle.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="LifeCycle.State.html" title="enum class in org.apache.logging.log4j.core">LifeCycle.State</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab3">
+<div class="col-first even-row-color class-summary class-summary-tab3"><a href="LifeCycle.State.html" title="enum class in org.apache.logging.log4j.core">LifeCycle.State</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab3">
 <div class="block">Status of a life cycle like a <a href="LoggerContext.html" title="class in org.apache.logging.log4j.core"><code>LoggerContext</code></a>.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="LogEvent.html" title="interface in org.apache.logging.log4j.core">LogEvent</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
 <div class="block">Provides contextual information about a logged message.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LogEventListener.html" title="class in org.apache.logging.log4j.core">LogEventListener</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="LogEventListener.html" title="class in org.apache.logging.log4j.core">LogEventListener</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">
 <div class="block">Base class for server classes that listen to <a href="LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a>s.</div>
 </div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Logger.html" title="class in org.apache.logging.log4j.core">Logger</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Logger.html" title="class in org.apache.logging.log4j.core">Logger</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
 <div class="block">The core implementation of the <code>Logger</code> interface.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Logger.Builder.html" title="class in org.apache.logging.log4j.core">Logger.Builder</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="LoggerContext.html" title="class in org.apache.logging.log4j.core">LoggerContext</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Logger.Builder.html" title="class in org.apache.logging.log4j.core">Logger.Builder</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LoggerContext.html" title="class in org.apache.logging.log4j.core">LoggerContext</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab2">
 <div class="block">The LoggerContext is the anchor for the logging system.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="LoggerContext.Builder.html" title="class in org.apache.logging.log4j.core">LoggerContext.Builder</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="LoggerContextAccessor.html" title="interface in org.apache.logging.log4j.core">LoggerContextAccessor</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="LoggerContext.Builder.html" title="class in org.apache.logging.log4j.core">LoggerContext.Builder</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="LoggerContextAccessor.html" title="interface in org.apache.logging.log4j.core">LoggerContextAccessor</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
 <div class="block">Provides access to a Core Logger Context.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ReusableLogEvent.html" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">&nbsp;</div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="StringLayout.html" title="interface in org.apache.logging.log4j.core">StringLayout</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
+<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ReusableLogEvent.html" title="interface in org.apache.logging.log4j.core">ReusableLogEvent</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
+<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="StringLayout.html" title="interface in org.apache.logging.log4j.core">StringLayout</a></div>
+<div class="col-last odd-row-color class-summary class-summary-tab1">
 <div class="block">Legacy interface from when layouts used to support more than strings or bytes.</div>
 </div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Version.html" title="class in org.apache.logging.log4j.core">Version</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
+<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Version.html" title="class in org.apache.logging.log4j.core">Version</a></div>
+<div class="col-last even-row-color class-summary class-summary-tab2">&nbsp;</div>
 </div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/package-tree.html b/javadoc/log4j-core/org/apache/logging/log4j/core/package-tree.html
index 16bc8e5d39..d6f055df4b 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/package-tree.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/package-tree.html
@@ -85,7 +85,6 @@ loadScripts(document, 'script');</script>
 <section class="hierarchy">
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
-<li class="circle">org.apache.logging.log4j.core.<a href="ContextDataInjector.html" class="type-name-link" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></li>
 <li class="circle">org.apache.logging.log4j.core.layout.<a href="layout/Encoder.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.layout">Encoder</a>&lt;T&gt;
 <ul>
 <li class="circle">org.apache.logging.log4j.core.<a href="Layout.html" class="type-name-link" title="interface in org.apache.logging.log4j.core">Layout</a>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/package-use.html b/javadoc/log4j-core/org/apache/logging/log4j/core/package-use.html
index d7f09c4114..81c66e99cd 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/package-use.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/package-use.html
@@ -165,60 +165,56 @@ loadScripts(document, 'script');</script>
 <div class="col-last odd-row-color">
 <div class="block">Appends <a href="LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a>s.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/ContextDataInjector.html#org.apache.logging.log4j.core">ContextDataInjector</a></div>
+<div class="col-first even-row-color"><a href="class-use/DefaultLoggerContextAccessor.html#org.apache.logging.log4j.core">DefaultLoggerContextAccessor</a></div>
 <div class="col-last even-row-color">
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</div>
-<div class="col-first odd-row-color"><a href="class-use/DefaultLoggerContextAccessor.html#org.apache.logging.log4j.core">DefaultLoggerContextAccessor</a></div>
-<div class="col-last odd-row-color">
 <div class="block">Default implementation using the Core LoggerContext.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/ErrorHandler.html#org.apache.logging.log4j.core">ErrorHandler</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/ErrorHandler.html#org.apache.logging.log4j.core">ErrorHandler</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Appenders may delegate their error handling to <code>ErrorHandlers</code>.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/Filter.html#org.apache.logging.log4j.core">Filter</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/Filter.html#org.apache.logging.log4j.core">Filter</a></div>
+<div class="col-last even-row-color">
 <div class="block">Interface that must be implemented to allow custom event filtering.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/Filter.Result.html#org.apache.logging.log4j.core">Filter.Result</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/Filter.Result.html#org.apache.logging.log4j.core">Filter.Result</a></div>
+<div class="col-last odd-row-color">
 <div class="block">The result that can returned from a filter method call.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/Layout.html#org.apache.logging.log4j.core">Layout</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/Layout.html#org.apache.logging.log4j.core">Layout</a></div>
+<div class="col-last even-row-color">
 <div class="block">Converts <a href="LogEvent.html" title="interface in org.apache.logging.log4j.core"><code>LogEvent</code></a> instances into different layouts of data.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/LifeCycle.html#org.apache.logging.log4j.core">LifeCycle</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/LifeCycle.html#org.apache.logging.log4j.core">LifeCycle</a></div>
+<div class="col-last odd-row-color">
 <div class="block">All proper Java frameworks implement some sort of object life cycle.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/LifeCycle.State.html#org.apache.logging.log4j.core">LifeCycle.State</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/LifeCycle.State.html#org.apache.logging.log4j.core">LifeCycle.State</a></div>
+<div class="col-last even-row-color">
 <div class="block">Status of a life cycle like a <a href="LoggerContext.html" title="class in org.apache.logging.log4j.core"><code>LoggerContext</code></a>.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core">LogEvent</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core">LogEvent</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Provides contextual information about a logged message.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/Logger.html#org.apache.logging.log4j.core">Logger</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/Logger.html#org.apache.logging.log4j.core">Logger</a></div>
+<div class="col-last even-row-color">
 <div class="block">The core implementation of the <code>Logger</code> interface.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/Logger.Builder.html#org.apache.logging.log4j.core">Logger.Builder</a></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><a href="class-use/Logger.PrivateConfig.html#org.apache.logging.log4j.core">Logger.PrivateConfig</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first odd-row-color"><a href="class-use/Logger.Builder.html#org.apache.logging.log4j.core">Logger.Builder</a></div>
+<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="class-use/Logger.PrivateConfig.html#org.apache.logging.log4j.core">Logger.PrivateConfig</a></div>
+<div class="col-last even-row-color">
 <div class="block">The binding between a Logger and its configuration.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/LoggerContext.html#org.apache.logging.log4j.core">LoggerContext</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/LoggerContext.html#org.apache.logging.log4j.core">LoggerContext</a></div>
+<div class="col-last odd-row-color">
 <div class="block">The LoggerContext is the anchor for the logging system.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/LoggerContext.Builder.html#org.apache.logging.log4j.core">LoggerContext.Builder</a></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><a href="class-use/LoggerContextAccessor.html#org.apache.logging.log4j.core">LoggerContextAccessor</a></div>
-<div class="col-last even-row-color">
+<div class="col-first even-row-color"><a href="class-use/LoggerContext.Builder.html#org.apache.logging.log4j.core">LoggerContext.Builder</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
+<div class="col-first odd-row-color"><a href="class-use/LoggerContextAccessor.html#org.apache.logging.log4j.core">LoggerContextAccessor</a></div>
+<div class="col-last odd-row-color">
 <div class="block">Provides access to a Core Logger Context.</div>
 </div>
 </div>
@@ -592,28 +588,24 @@ loadScripts(document, 'script');</script>
 <div class="col-last even-row-color">
 <div class="block">A life cycle to be extended.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/ContextDataInjector.html#org.apache.logging.log4j.core.filter">ContextDataInjector</a></div>
+<div class="col-first odd-row-color"><a href="class-use/Filter.html#org.apache.logging.log4j.core.filter">Filter</a></div>
 <div class="col-last odd-row-color">
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</div>
-<div class="col-first even-row-color"><a href="class-use/Filter.html#org.apache.logging.log4j.core.filter">Filter</a></div>
-<div class="col-last even-row-color">
 <div class="block">Interface that must be implemented to allow custom event filtering.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/Filter.Result.html#org.apache.logging.log4j.core.filter">Filter.Result</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/Filter.Result.html#org.apache.logging.log4j.core.filter">Filter.Result</a></div>
+<div class="col-last even-row-color">
 <div class="block">The result that can returned from a filter method call.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/LifeCycle.html#org.apache.logging.log4j.core.filter">LifeCycle</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/LifeCycle.html#org.apache.logging.log4j.core.filter">LifeCycle</a></div>
+<div class="col-last odd-row-color">
 <div class="block">All proper Java frameworks implement some sort of object life cycle.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core.filter">LogEvent</a></div>
-<div class="col-last odd-row-color">
+<div class="col-first even-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core.filter">LogEvent</a></div>
+<div class="col-last even-row-color">
 <div class="block">Provides contextual information about a logged message.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/Logger.html#org.apache.logging.log4j.core.filter">Logger</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/Logger.html#org.apache.logging.log4j.core.filter">Logger</a></div>
+<div class="col-last odd-row-color">
 <div class="block">The core implementation of the <code>Logger</code> interface.</div>
 </div>
 </div>
@@ -625,20 +617,16 @@ loadScripts(document, 'script');</script>
 <div class="summary-table two-column-summary">
 <div class="table-header col-first">Class</div>
 <div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><a href="class-use/ContextDataInjector.html#org.apache.logging.log4j.core.impl">ContextDataInjector</a></div>
+<div class="col-first even-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core.impl">LogEvent</a></div>
 <div class="col-last even-row-color">
-<div class="block">Responsible for initializing the context data of LogEvents.</div>
-</div>
-<div class="col-first odd-row-color"><a href="class-use/LogEvent.html#org.apache.logging.log4j.core.impl">LogEvent</a></div>
-<div class="col-last odd-row-color">
 <div class="block">Provides contextual information about a logged message.</div>
 </div>
-<div class="col-first even-row-color"><a href="class-use/LoggerContext.html#org.apache.logging.log4j.core.impl">LoggerContext</a></div>
-<div class="col-last even-row-color">
+<div class="col-first odd-row-color"><a href="class-use/LoggerContext.html#org.apache.logging.log4j.core.impl">LoggerContext</a></div>
+<div class="col-last odd-row-color">
 <div class="block">The LoggerContext is the anchor for the logging system.</div>
 </div>
-<div class="col-first odd-row-color"><a href="class-use/ReusableLogEvent.html#org.apache.logging.log4j.core.impl">ReusableLogEvent</a></div>
-<div class="col-last odd-row-color">&nbsp;</div>
+<div class="col-first even-row-color"><a href="class-use/ReusableLogEvent.html#org.apache.logging.log4j.core.impl">ReusableLogEvent</a></div>
+<div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/Clock.html b/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/Clock.html
index 9b9fddbcf5..7d6a04287a 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/Clock.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/Clock.html
@@ -136,8 +136,7 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code><a href="../../impl/LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../../impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.log [...]
- <a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../../impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
@@ -151,8 +150,7 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Constructor</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code>&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../../impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-second even-row-color"><code><a href="../../impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/NanoClock.html b/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/NanoClock.html
index cc62b09553..dee2458b4b 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/NanoClock.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/time/class-use/NanoClock.html
@@ -119,8 +119,7 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code><a href="../../impl/LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a></code></div>
-<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../../impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.log [...]
- <a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-second even-row-color"><span class="type-name-label">CoreDefaultBundle.</span><code><a href="../../impl/CoreDefaultBundle.html#reusableLogEventFactory(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">reusableLogEventFactory</a><wbr>(<a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
@@ -131,8 +130,7 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Constructor</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code>&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../../impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.ContextDataInjector,org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../../ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>&nbsp;injector,
- <a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
+<div class="col-second even-row-color"><code><a href="../../impl/ReusableLogEventFactory.html#%3Cinit%3E(org.apache.logging.log4j.core.time.Clock,org.apache.logging.log4j.core.time.NanoClock,org.apache.logging.log4j.kit.recycler.RecyclerFactory)" class="member-name-link">ReusableLogEventFactory</a><wbr>(<a href="../Clock.html" title="interface in org.apache.logging.log4j.core.time">Clock</a>&nbsp;clock,
  <a href="../NanoClock.html" title="interface in org.apache.logging.log4j.core.time">NanoClock</a>&nbsp;nanoClock,
  org.apache.logging.log4j.kit.recycler.RecyclerFactory&nbsp;recyclerFactory)</code></div>
 <div class="col-last even-row-color">&nbsp;</div>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/util/ContextDataProvider.html b/javadoc/log4j-core/org/apache/logging/log4j/core/util/ContextDataProvider.html
index 49c0e22a83..c4ecdc8753 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/util/ContextDataProvider.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/util/ContextDataProvider.html
@@ -75,7 +75,7 @@ loadScripts(document, 'script');</script>
 <section class="class-description" id="class-description">
 <dl class="notes">
 <dt>All Known Implementing Classes:</dt>
-<dd><code><a href="../impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></code></dd>
+<dd><code><a href="../impl/ScopedContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></code>, <code><a href="../impl/ThreadContextDataProvider.html" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></code></dd>
 </dl>
 <hr>
 <div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ContextDataProvider</span></div>
@@ -94,16 +94,31 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-first">Modifier and Type</div>
 <div class="table-header col-second">Method</div>
 <div class="table-header col-last">Description</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#addAll(java.util.Map)" class="member-name-link">addAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" clas [...]
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#addAll(org.apache.logging.log4j.util.StringMap)" class="member-name-link">addAll</a><wbr>(org.apache.logging.log4j.util.StringMap&nbsp;map)</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
+<div class="block">Add all the keys in the current context to the provided StringMap.</div>
+</div>
+<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
+<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#get(java.lang.String)" class="member-name-link">get</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;key)</code></div>
+<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
+<div class="block">Returns the key for a value from the context data.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
+<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
+<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
+<div class="block">Returns the number of items in this context.</div>
+</div>
 <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/ [...]
 <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#supplyContextData()" class="member-name-link">supplyContextData</a>()</code></div>
 <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
 <div class="block">Returns a Map containing context data to be injected into the event or null if no context data is to be added.</div>
 </div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default org.apache.logging.log4j.util.StringMap</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#supplyStringMap()" class="member-name-link">supplyStringMap</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
-<div class="block">Returns the context data as a StringMap.</div>
-</div>
 </div>
 </div>
 </div>
@@ -119,6 +134,19 @@ loadScripts(document, 'script');</script>
 <h2>Method Details</h2>
 <ul class="member-list">
 <li>
+<section class="detail" id="get(java.lang.String)">
+<h3>get</h3>
+<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">get</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="extern [...]
+<div class="block">Returns the key for a value from the context data.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>key</code> - the key to locate.</dd>
+<dt>Returns:</dt>
+<dd>the value or null if it is not found.</dd>
+</dl>
+</section>
+</li>
+<li>
 <section class="detail" id="supplyContextData()">
 <h3>supplyContextData</h3>
 <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="cl [...]
@@ -134,17 +162,35 @@ loadScripts(document, 'script');</script>
 </section>
 </li>
 <li>
-<section class="detail" id="supplyStringMap()">
-<h3>supplyStringMap</h3>
-<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">org.apache.logging.log4j.util.StringMap</span>&nbsp;<span class="element-name">supplyStringMap</span>()</div>
-<div class="block">Returns the context data as a StringMap.
- <p>
-     Thread-safety note: The returned object can safely be passed off to another thread: future changes in the
-     underlying context data will not be reflected in the returned object.
- </p></div>
+<section class="detail" id="size()">
+<h3>size</h3>
+<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">size</span>()</div>
+<div class="block">Returns the number of items in this context.</div>
 <dl class="notes">
 <dt>Returns:</dt>
-<dd>the context data in a StringMap.</dd>
+<dd>the number of items in the context.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addAll(java.util.Map)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="e [...]
+<div class="block">Add all the keys in the current context to the provided Map.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>map</code> - the StringMap to add the keys and values to.</dd>
+</dl>
+</section>
+</li>
+<li>
+<section class="detail" id="addAll(org.apache.logging.log4j.util.StringMap)">
+<h3>addAll</h3>
+<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addAll</span><wbr><span class="parameters">(org.apache.logging.log4j.util.StringMap&nbsp;map)</span></div>
+<div class="block">Add all the keys in the current context to the provided StringMap.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>map</code> - the StringMap to add the keys and values to.</dd>
 </dl>
 </section>
 </li>
diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/util/class-use/ContextDataProvider.html b/javadoc/log4j-core/org/apache/logging/log4j/core/util/class-use/ContextDataProvider.html
index 9504be33d5..d0b643bb76 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/util/class-use/ContextDataProvider.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/util/class-use/ContextDataProvider.html
@@ -71,8 +71,13 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Class</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code>class&nbsp;</code></div>
-<div class="col-second even-row-color"><code><a href="../../impl/ThreadContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></code></div>
+<div class="col-second even-row-color"><code><a href="../../impl/ScopedContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a></code></div>
 <div class="col-last even-row-color">
+<div class="block">ContextDataProvider for <code>Map&lt;String, String&gt;</code> data.</div>
+</div>
+<div class="col-first odd-row-color"><code>class&nbsp;</code></div>
+<div class="col-second odd-row-color"><code><a href="../../impl/ThreadContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a></code></div>
+<div class="col-last odd-row-color">
 <div class="block">ContextDataProvider for ThreadContext data.</div>
 </div>
 </div>
@@ -82,10 +87,19 @@ loadScripts(document, 'script');</script>
 <div class="table-header col-second">Field</div>
 <div class="table-header col-last">Description</div>
 <div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&gt;</code></div>
-<div class="col-second even-row-color"><span class="type-name-label">ThreadContextDataInjector.</span><code><a href="../../impl/ThreadContextDataInjector.html#contextDataProviders" class="member-name-link">contextDataProviders</a></code></div>
+<div class="col-second even-row-color"><span class="type-name-label">ContextData.</span><code><a href="../../impl/ContextData.html#contextDataProviders" class="member-name-link">contextDataProviders</a></code></div>
 <div class="col-last even-row-color">
-<div class="block">ContextDataProviders loaded externally.</div>
+<div class="block">ContextDataProviders loaded via OSGi.</div>
+</div>
 </div>
+<div class="caption"><span>Methods in <a href="../../impl/package-summary.html">org.apache.logging.log4j.core.impl</a> with parameters of type <a href="../ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></span></div>
+<div class="summary-table three-column-summary">
+<div class="table-header col-first">Modifier and Type</div>
+<div class="table-header col-second">Method</div>
+<div class="table-header col-last">Description</div>
+<div class="col-first even-row-color"><code>static void</code></div>
+<div class="col-second even-row-color"><span class="type-name-label">ContextData.</span><code><a href="../../impl/ContextData.html#addProvider(org.apache.logging.log4j.core.util.ContextDataProvider)" class="member-name-link">addProvider</a><wbr>(<a href="../ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>&nbsp;provider)</code></div>
+<div class="col-last even-row-color">&nbsp;</div>
 </div>
 </section>
 </li>
diff --git a/javadoc/log4j-core/overview-tree.html b/javadoc/log4j-core/overview-tree.html
index 7675a9a048..7cecbf256b 100644
--- a/javadoc/log4j-core/overview-tree.html
+++ b/javadoc/log4j-core/overview-tree.html
@@ -75,6 +75,7 @@ loadScripts(document, 'script');</script>
 <li><a href="org/apache/logging/log4j/core/filter/package-tree.html">org.apache.logging.log4j.core.filter</a>, </li>
 <li><a href="org/apache/logging/log4j/core/filter/mutable/package-tree.html">org.apache.logging.log4j.core.filter.mutable</a>, </li>
 <li><a href="org/apache/logging/log4j/core/impl/package-tree.html">org.apache.logging.log4j.core.impl</a>, </li>
+<li><a href="org/apache/logging/log4j/core/impl/internal/package-tree.html">org.apache.logging.log4j.core.impl.internal</a>, </li>
 <li><a href="org/apache/logging/log4j/core/layout/package-tree.html">org.apache.logging.log4j.core.layout</a>, </li>
 <li><a href="org/apache/logging/log4j/core/lookup/package-tree.html">org.apache.logging.log4j.core.lookup</a>, </li>
 <li><a href="org/apache/logging/log4j/core/net/package-tree.html">org.apache.logging.log4j.core.net</a>, </li>
@@ -434,6 +435,11 @@ loadScripts(document, 'script');</script>
 <li class="circle">org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.rolling">DirectWriteRolloverStrategy</a> (implements org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/DirectFileRolloverStrategy.html" title="interface in org.apache.logging.log4j.core.appender.rolling">D [...]
 </ul>
 </li>
+<li class="circle">org.apache.logging.log4j.spi.AbstractScopedContextProvider (implements org.apache.logging.log4j.spi.ScopedContextProvider)
+<ul>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/QueuedScopedContextProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">QueuedScopedContextProvider</a></li>
+</ul>
+</li>
 <li class="circle">org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/AbstractWatcher.html" class="type-name-link" title="class in org.apache.logging.log4j.core.util">AbstractWatcher</a> (implements org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/Watcher.html" title="interface in org.apache.logging.log4j.core.util">Watcher</a>)
 <ul>
 <li class="circle">org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/ConfigurationFileWatcher.html" class="type-name-link" title="class in org.apache.logging.log4j.core.config">ConfigurationFileWatcher</a> (implements org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/FileWatcher.html" title="interface in org.apache.logging.log4j.core.util">FileWatcher</a>)</li>
@@ -481,8 +487,8 @@ loadScripts(document, 'script');</script>
 <li class="circle">org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/Configurator.html" class="type-name-link" title="class in org.apache.logging.log4j.core.config">Configurator</a></li>
 <li class="circle">org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/Constants.html" class="type-name-link" title="class in org.apache.logging.log4j.core.util">Constants</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextAnchor.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextAnchor</a></li>
+<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextData.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextData</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextDataFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataFactory</a></li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ContextDataInjectorFactory</a></li>
 <li class="circle">org.apache.logging.log4j.core.lookup.<a href="org/apache/logging/log4j/core/lookup/ContextMapLookup.html" class="type-name-link" title="class in org.apache.logging.log4j.core.lookup">ContextMapLookup</a> (implements org.apache.logging.log4j.core.lookup.<a href="org/apache/logging/log4j/core/lookup/StrLookup.html" title="interface in org.apache.logging.log4j.core.lookup">StrLookup</a>)</li>
 <li class="circle">org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/Core.html" class="type-name-link" title="class in org.apache.logging.log4j.core">Core</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreDefaultBundle.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">CoreDefaultBundle</a></li>
@@ -663,6 +669,11 @@ loadScripts(document, 'script');</script>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/Log4jProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">Log4jProvider</a></li>
 </ul>
 </li>
+<li class="circle">org.apache.logging.log4j.util.ProviderActivator (implements org.osgi.framework.BundleActivator)
+<ul>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/Activator.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">Activator</a></li>
+</ul>
+</li>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" class="type-name-link external-link" title="class or interface in java.lang">Record</a>
 <ul>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/CoreProperties.AsyncProperties.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">CoreProperties.AsyncProperties</a></li>
@@ -690,11 +701,13 @@ loadScripts(document, 'script');</script>
 <li class="circle">org.apache.logging.log4j.core.pattern.<a href="org/apache/logging/log4j/core/pattern/RegexReplacement.html" class="type-name-link" title="class in org.apache.logging.log4j.core.pattern">RegexReplacement</a></li>
 <li class="circle">org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.config">ReliabilityStrategyFactory</a></li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ReusableLogEventFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ReusableLogEventFactory</a> (implements org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/LogEventFactory.html" title="interface in org.apache.logging.log4j.core.impl">LogEventFactory</a>)</li>
+<li class="circle">org.apache.logging.log4j.core.impl.internal.<a href="org/apache/logging/log4j/core/impl/internal/ReusableMessageFactory.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl.internal">ReusableMessageFactory</a> (implements org.apache.logging.log4j.kit.message.RecyclingMessageFactory)</li>
 <li class="circle">org.apache.logging.log4j.core.layout.<a href="org/apache/logging/log4j/core/layout/Rfc5424Layout.Rfc5424LayoutBuilder.html" class="type-name-link" title="class in org.apache.logging.log4j.core.layout">Rfc5424Layout.Rfc5424LayoutBuilder</a></li>
 <li class="circle">org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/RolloverDescriptionImpl.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.rolling">RolloverDescriptionImpl</a> (implements org.apache.logging.log4j.core.appender.rolling.<a href="org/apache/logging/log4j/core/appender/rolling/RolloverDescription.html" title="interface in org.apache.logging.log4j.core.appender.rolling">RolloverDescript [...]
 <li class="circle">org.apache.logging.log4j.core.appender.routing.<a href="org/apache/logging/log4j/core/appender/routing/Route.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.routing">Route</a></li>
 <li class="circle">org.apache.logging.log4j.core.appender.routing.<a href="org/apache/logging/log4j/core/appender/routing/Routes.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.routing">Routes</a></li>
 <li class="circle">org.apache.logging.log4j.core.appender.routing.<a href="org/apache/logging/log4j/core/appender/routing/Routes.Builder.html" class="type-name-link" title="class in org.apache.logging.log4j.core.appender.routing">Routes.Builder</a> (implements org.apache.logging.log4j.plugins.util.Builder&lt;T&gt;)</li>
+<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ScopedContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ScopedContextDataProvider</a> (implements org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>)</li>
 <li class="circle">org.apache.logging.log4j.core.config.arbiters.<a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.html" class="type-name-link" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter</a></li>
 <li class="circle">org.apache.logging.log4j.core.config.arbiters.<a href="org/apache/logging/log4j/core/config/arbiters/SelectArbiter.Builder.html" class="type-name-link" title="class in org.apache.logging.log4j.core.config.arbiters">SelectArbiter.Builder</a> (implements org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/Builder.html" title="interface in org.apache.logging.log4j.core.util">Builder</a>&lt;T&gt;)</li>
 <li class="circle">java.nio.file.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/SimpleFileVisitor.html" class="type-name-link external-link" title="class or interface in java.nio.file">SimpleFileVisitor</a>&lt;T&gt; (implements java.nio.file.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/FileVisitor.html" title="class or interface in java.nio.file" class="external-link">FileVisitor</a>&lt;T&gt;)
@@ -742,10 +755,6 @@ loadScripts(document, 'script');</script>
 <li class="circle">org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/Log4jThread.html" class="type-name-link" title="class in org.apache.logging.log4j.core.util">Log4jThread</a></li>
 </ul>
 </li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector</a></li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForCopyOnWriteThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForCopyOnWriteThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForDefaultThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForDefaultThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
-<li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataInjector.ForGarbageFreeThreadContextMap.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataInjector.ForGarbageFreeThreadContextMap</a> (implements org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a>)</li>
 <li class="circle">org.apache.logging.log4j.core.impl.<a href="org/apache/logging/log4j/core/impl/ThreadContextDataProvider.html" class="type-name-link" title="class in org.apache.logging.log4j.core.impl">ThreadContextDataProvider</a> (implements org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a>)</li>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" class="type-name-link external-link" title="class or interface in java.lang">Throwable</a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>)
 <ul>
@@ -834,7 +843,6 @@ loadScripts(document, 'script');</script>
 </li>
 <li class="circle">org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/ConfigurationAware.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.config">ConfigurationAware</a></li>
 <li class="circle">org.apache.logging.log4j.core.config.<a href="org/apache/logging/log4j/core/config/ConfigurationExtension.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.config">ConfigurationExtension</a></li>
-<li class="circle">org.apache.logging.log4j.core.<a href="org/apache/logging/log4j/core/ContextDataInjector.html" class="type-name-link" title="interface in org.apache.logging.log4j.core">ContextDataInjector</a></li>
 <li class="circle">org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ContextDataProvider.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.util">ContextDataProvider</a></li>
 <li class="circle">org.apache.logging.log4j.core.selector.<a href="org/apache/logging/log4j/core/selector/ContextSelector.html" class="type-name-link" title="interface in org.apache.logging.log4j.core.selector">ContextSelector</a>
 <ul>
diff --git a/javadoc/log4j-core/package-search-index.js b/javadoc/log4j-core/package-search-index.js
index 17013452b4..34da1f4265 100644
--- a/javadoc/log4j-core/package-search-index.js
+++ b/javadoc/log4j-core/package-search-index.js
@@ -1 +1 @@
-packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"org.apache.logging.log4j.core"},{"l":"org.apache.logging.log4j.core.appender"},{"l":"org.apache.logging.log4j.core.appender.db"},{"l":"org.apache.logging.log4j.core.appender.nosql"},{"l":"org.apache.logging.log4j.core.appender.rewrite"},{"l":"org.apache.logging.log4j.core.appender.rolling"},{"l":"org.apache.logging.log4j.core.appender.rolling.action"},{"l":"org.apache.logging.log4j.core.appender.routing"},{"l": [...]
\ No newline at end of file
+packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"org.apache.logging.log4j.core"},{"l":"org.apache.logging.log4j.core.appender"},{"l":"org.apache.logging.log4j.core.appender.db"},{"l":"org.apache.logging.log4j.core.appender.nosql"},{"l":"org.apache.logging.log4j.core.appender.rewrite"},{"l":"org.apache.logging.log4j.core.appender.rolling"},{"l":"org.apache.logging.log4j.core.appender.rolling.action"},{"l":"org.apache.logging.log4j.core.appender.routing"},{"l": [...]
\ No newline at end of file
diff --git a/javadoc/log4j-core/type-search-index.js b/javadoc/log4j-core/type-search-index.js
index b278fde8fd..aa3ef06ca7 100644
--- a/javadoc/log4j-core/type-search-index.js
+++ b/javadoc/log4j-core/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"p":"org.apache.logging.log4j.core.appender.rolling.action","l":"AbstractAction"},{"p":"org.apache.logging.log4j.core.appender","l":"AbstractAppender"},{"p":"org.apache.logging.log4j.core.appender","l":"SocketAppender.AbstractBuilder"},{"p":"org.apache.logging.log4j.core.config","l":"AbstractConfiguration"},{"p":"org.apache.logging.log4j.core.lookup","l":"AbstractConfigurationAwareLookup"},{"p":"org.apache.logging.log4j.core.selector","l":"AbstractContextSelector"},{" [...]
\ No newline at end of file
+typeSearchIndex = [{"p":"org.apache.logging.log4j.core.appender.rolling.action","l":"AbstractAction"},{"p":"org.apache.logging.log4j.core.appender","l":"AbstractAppender"},{"p":"org.apache.logging.log4j.core.appender","l":"SocketAppender.AbstractBuilder"},{"p":"org.apache.logging.log4j.core.config","l":"AbstractConfiguration"},{"p":"org.apache.logging.log4j.core.lookup","l":"AbstractConfigurationAwareLookup"},{"p":"org.apache.logging.log4j.core.selector","l":"AbstractContextSelector"},{" [...]
\ No newline at end of file
diff --git a/log4j-1.2-api.html b/log4j-1.2-api.html
index 5f99ef40bf..686ea1dac1 100644
--- a/log4j-1.2-api.html
+++ b/log4j-1.2-api.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-api.html b/log4j-api.html
index e3eaa2c00a..2e46aadb9e 100644
--- a/log4j-api.html
+++ b/log4j-api.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-docker.html b/log4j-docker.html
index e03528f0ff..44138d2092 100644
--- a/log4j-docker.html
+++ b/log4j-docker.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-flume-ng.html b/log4j-flume-ng.html
index f4c40864ca..3dbaa055aa 100644
--- a/log4j-flume-ng.html
+++ b/log4j-flume-ng.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-iostreams.html b/log4j-iostreams.html
index 24a90314d1..6a82cf5d55 100644
--- a/log4j-iostreams.html
+++ b/log4j-iostreams.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-jpl.html b/log4j-jpl.html
index 59085e53f4..ff41471d0f 100644
--- a/log4j-jpl.html
+++ b/log4j-jpl.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-jul.html b/log4j-jul.html
index f13eaa5a0c..74dd2aca02 100644
--- a/log4j-jul.html
+++ b/log4j-jul.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-mongodb4.html b/log4j-mongodb4.html
index e414b9a126..a99e22fb71 100644
--- a/log4j-mongodb4.html
+++ b/log4j-mongodb4.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-slf4j-impl.html b/log4j-slf4j-impl.html
index 65b2f7895f..a824976c91 100644
--- a/log4j-slf4j-impl.html
+++ b/log4j-slf4j-impl.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-slf4j2-impl.html b/log4j-slf4j2-impl.html
index 3b35a3fe2c..d483f16dc3 100644
--- a/log4j-slf4j2-impl.html
+++ b/log4j-slf4j2-impl.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-spring-cloud-config-client.html b/log4j-spring-cloud-config-client.html
index 1d58c31f36..8f3bbe2273 100644
--- a/log4j-spring-cloud-config-client.html
+++ b/log4j-spring-cloud-config-client.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-to-jul.html b/log4j-to-jul.html
index 202c5ef4f7..10b6a98d64 100644
--- a/log4j-to-jul.html
+++ b/log4j-to-jul.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/log4j-to-slf4j.html b/log4j-to-slf4j.html
index 30d2f93c90..9abc7a8807 100644
--- a/log4j-to-slf4j.html
+++ b/log4j-to-slf4j.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/manual/api-separation.html b/manual/api-separation.html
index 5a66191459..1580d09eb0 100644
--- a/manual/api-separation.html
+++ b/manual/api-separation.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/api.html b/manual/api.html
index 9823a503f7..232bbbc9fb 100644
--- a/manual/api.html
+++ b/manual/api.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/appenders.html b/manual/appenders.html
index d829c79f1d..f9538a8364 100644
--- a/manual/appenders.html
+++ b/manual/appenders.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/architecture.html b/manual/architecture.html
index 155c390add..ca3834af00 100644
--- a/manual/architecture.html
+++ b/manual/architecture.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/async.html b/manual/async.html
index 5edd09f628..42abd3ced5 100644
--- a/manual/async.html
+++ b/manual/async.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/cloud.html b/manual/cloud.html
index 62dbef3b1b..846736fc38 100644
--- a/manual/cloud.html
+++ b/manual/cloud.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/compatibility.html b/manual/compatibility.html
index 742f6b60e3..5ddd6e0f66 100644
--- a/manual/compatibility.html
+++ b/manual/compatibility.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/configuration.html b/manual/configuration.html
index 559a1a5f00..5830e3cca7 100644
--- a/manual/configuration.html
+++ b/manual/configuration.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item is-current-page" data-depth="2">
diff --git a/manual/customconfig.html b/manual/customconfig.html
index eb055d9d43..801b38e464 100644
--- a/manual/customconfig.html
+++ b/manual/customconfig.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/customloglevels.html b/manual/customloglevels.html
index ee8ec91fe9..f51c140f0c 100644
--- a/manual/customloglevels.html
+++ b/manual/customloglevels.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/dependencyinjection.html b/manual/dependencyinjection.html
index 571ac668c3..52c36dd7b7 100644
--- a/manual/dependencyinjection.html
+++ b/manual/dependencyinjection.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
@@ -426,9 +432,6 @@ Some of these bindings were previously configured through various system propert
 <div class="ulist">
 <ul>
 <li>
-<p><code>org.apache.logging.log4j.core.ContextDataInjector</code></p>
-</li>
-<li>
 <p><code>org.apache.logging.log4j.core.config.ConfigurationFactory</code></p>
 </li>
 <li>
diff --git a/manual/eventlogging.html b/manual/eventlogging.html
index 394ca8fdb1..e602ad95be 100644
--- a/manual/eventlogging.html
+++ b/manual/eventlogging.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/extending.html b/manual/extending.html
index 176b430562..8194d6dec5 100644
--- a/manual/extending.html
+++ b/manual/extending.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
@@ -972,8 +978,7 @@ ListAppender list2 = ListAppender.newBuilder().setName("List1").setEntryPerNewLi
 <div class="paragraph">
 <p>The <a href="../javadoc/log4j-core/org/apache/logging/log4j/core/util/ContextDataProvider.html"><code>ContextDataProvider</code></a>
 (introduced in Log4j 2.13.2) is an interface applications and libraries can use to inject
-additional key-value pairs into the LogEvent&#8217;s context data. Log4j&#8217;s
-<a href="../javadoc/log4j-core/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.html"><code>ThreadContextDataInjector</code></a>
+additional key-value pairs into the LogEvent&#8217;s context data. Log4j
 uses <code>java.util.ServiceLoader</code> to locate and load <code>ContextDataProvider</code> instances.
 Log4j itself adds the ThreadContext data to the LogEvent using
 <code>org.apache.logging.log4j.core.impl.ThreadContextDataProvider</code>. Custom implementations
diff --git a/manual/filters.html b/manual/filters.html
index dc296a1dc9..20667753d3 100644
--- a/manual/filters.html
+++ b/manual/filters.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/flowtracing.html b/manual/flowtracing.html
index 263df51044..017ceeca20 100644
--- a/manual/flowtracing.html
+++ b/manual/flowtracing.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/garbagefree.html b/manual/garbagefree.html
index 884434e3c0..deed5e5498 100644
--- a/manual/garbagefree.html
+++ b/manual/garbagefree.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/index.html b/manual/index.html
index b6bb98aa45..427af5e820 100644
--- a/manual/index.html
+++ b/manual/index.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/installation.html b/manual/installation.html
index 556284fbe9..8a8bb9d785 100644
--- a/manual/installation.html
+++ b/manual/installation.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/jmx.html b/manual/jmx.html
index 00bc6d495f..559ba9c1b1 100644
--- a/manual/jmx.html
+++ b/manual/jmx.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/json-template-layout.html b/manual/json-template-layout.html
index 4f855648cd..45135cfca8 100644
--- a/manual/json-template-layout.html
+++ b/manual/json-template-layout.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/layouts.html b/manual/layouts.html
index 092de4c604..339a00a351 100644
--- a/manual/layouts.html
+++ b/manual/layouts.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/log4j1-compat.html b/manual/log4j1-compat.html
index 46dbccc3f6..90260524a7 100644
--- a/manual/log4j1-compat.html
+++ b/manual/log4j1-compat.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/logbuilder.html b/manual/logbuilder.html
index edc051d164..43dbb44bb2 100644
--- a/manual/logbuilder.html
+++ b/manual/logbuilder.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/logsep.html b/manual/logsep.html
index 9088763e96..89cc1751db 100644
--- a/manual/logsep.html
+++ b/manual/logsep.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/lookups.html b/manual/lookups.html
index 96b6c69519..92ac7c2fe2 100644
--- a/manual/lookups.html
+++ b/manual/lookups.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/markers.html b/manual/markers.html
index 901670bfd0..686ee59735 100644
--- a/manual/markers.html
+++ b/manual/markers.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/messages.html b/manual/messages.html
index bf970f45a1..b800c8d80f 100644
--- a/manual/messages.html
+++ b/manual/messages.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/migration.html b/manual/migration.html
index 5c2b9ecae2..b3fd70c290 100644
--- a/manual/migration.html
+++ b/manual/migration.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/performance.html b/manual/performance.html
index f54cee8b8f..841a9c44ec 100644
--- a/manual/performance.html
+++ b/manual/performance.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/plugins.html b/manual/plugins.html
index 41eba908b9..67ae89e206 100644
--- a/manual/plugins.html
+++ b/manual/plugins.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/markers.html b/manual/resource-logger.html
similarity index 76%
copy from manual/markers.html
copy to manual/resource-logger.html
index 901670bfd0..cb9852852a 100644
--- a/manual/markers.html
+++ b/manual/resource-logger.html
@@ -3,8 +3,8 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Markers :: Apache Log4j</title>
-    <link rel="canonical" href="https://logging.apache.org/log4j/3.x/manual/markers.html">
+    <title>Resource Logging :: Apache Log4j</title>
+    <link rel="canonical" href="https://logging.apache.org/log4j/3.x/manual/resource-logger.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">
@@ -108,7 +108,7 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="flowtracing.html">Flow Tracing</a>
   </li>
-  <li class="nav-item is-current-page" data-depth="3">
+  <li class="nav-item" data-depth="3">
     <a class="nav-link" href="markers.html">Markers</a>
   </li>
   <li class="nav-item" data-depth="3">
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item is-current-page" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
@@ -271,111 +277,96 @@
     <li>Learn</li>
     <li><a href="index.html">Manual</a></li>
     <li><a href="api.html">Log4j API</a></li>
-    <li><a href="markers.html">Markers</a></li>
+    <li><a href="resource-logger.html">Resource Logging</a></li>
   </ul>
 </nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/ROOT/pages/manual/markers.adoc">Edit this Page</a></div>
+<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/ROOT/pages/manual/resource-logger.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">Markers</h1>
+<h1 class="page">Resource Logging</h1>
+<div class="paragraph">
+<p>A <code>ResourceLogger</code> is a special kind of Logger that:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>is a regular class member variable that will be garbage collected along with the class instance.</p>
+</li>
+<li>
+<p>can provide a Map of key/value pairs of data associate with the resource (the class instance)
+that will be include in every record logged from the class.</p>
+</li>
+</ul>
+</div>
 <div class="paragraph">
-<p>One of the primary purpose of a logging framework is to provide the
-means to generate debugging and diagnostic information only when it is
-needed, and to allow filtering of that information so that it does not
-overwhelm the system or the individuals who need to make use of it. As
-an example, an application desires to log its entry, exit and other
-operations separately from SQL statements being executed, and wishes to
-be able to log queries separate from updates. One way to accomplish this
-is shown below:</p>
+<p>The Resource Logger still uses a "regular" Logger. That Logger can be explicitly declared or encapsulated
+inside the Resource Logger.</p>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.MarkerManager;
-import java.util.Map;
-
-public class MyApp {
-
-    private Logger logger = LogManager.getLogger(MyApp.class.getName());
-    private static final Marker SQL_MARKER = MarkerManager.getMarker("SQL");
-    private static final Marker UPDATE_MARKER = MarkerManager.getMarker("SQL_UPDATE").setParents(SQL_MARKER);
-    private static final Marker QUERY_MARKER = MarkerManager.getMarker("SQL_QUERY").setParents(SQL_MARKER);
-
-    public String doQuery(String table) {
-        logger.traceEntry();
-
-        logger.debug(QUERY_MARKER, "SELECT * FROM {}", table);
+<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">     private class User {
 
-        String result = ...
+        private final String loginId;
+        private final String role;
+        private int loginAttempts;
+        private final ResourceLogger logger;
 
-        return logger.traceExit(result);
-    }
-
-    public String doUpdate(String table, Map&lt;String, String&gt; params) {
-        logger.traceEntry();
+        public User(final String loginId, final String role) {
+            this.loginId = loginId;
+            this.role = role;
+            logger = ResourceLogger.newBuilder()
+                .withClass(this.getClass())
+                .withSupplier(new UserSupplier())
+                .build();
+        }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug(UPDATE_MARKER, "UPDATE {} SET {}", table, formatCols());
+        public void login() throws Exception {
+            ++loginAttempts;
+            try {
+                authenticator.authenticate(loginId);
+                logger.info("Login succeeded");
+            } catch (Exception ex) {
+                logger.warn("Failed login");
+                throw ex;
+            }
         }
 
-        String result = ...
 
-        return logger.traceExit(result);
-    }
+        private class UserSupplier implements Supplier&lt;Map&lt;String, String&gt;&gt; {
 
-    private String formatCols(Map&lt;String, String&gt; cols) {
-        StringBuilder sb = new StringBuilder();
-        boolean first = true;
-        for (Map.Entry&lt;String, String&gt; entry : cols.entrySet()) {
-            if (!first) {
-                sb.append(", ");
+            public Map&lt;String, String&gt; get() {
+                Map&lt;String, String&gt; map = new HashMap&lt;&gt;();
+                map.put("LoginId", loginId);
+                map.put("Role", role);
+                map.put("Count", Integer.toString(loginAttempts));
+                return map;
             }
-            sb.append(entry.getKey()).append("=").append(entry.getValue());
-            first = false;
         }
-        return sb.toString();
-    }
-}</code></pre>
+    }</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>In the example above it is now possible to add MarkerFilters to only
-allow SQL update operations to be logged, all SQL updates to be logged
-or to log everything in MyApp.</p>
+<p>With the PatternLayout configured with a pattern of</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>%X %m%n</pre>
+</div>
 </div>
 <div class="paragraph">
-<p>Some important rules about Markers must be considered when using them.</p>
+<p>and a loginId of testUser and a role of Admin, after a successful login would result in a log message of</p>
 </div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Markers must be unique. They are permanently registered by name so
-care should be taken to insure that Markers used in your application are
-distinct from those in the application&#8217;s dependencies, unless that is
-what is desired.</p>
-</li>
-<li>
-<p>Parent Markers can be added or removed dynamically. However, this is
-fairly expensive to do. Instead, it is recommended that the parents be
-identified when obtaining the Marker the first time as shown in the
-examples above. Specifically, the set method replaces all the markers in
-a single operation while add and remove act on only a single Marker at a
-time.</p>
-</li>
-<li>
-<p>Evaluating Markers with multiple ancestors is much more expensive
-than Markers with no parents. For example, in one set of tests to
-evaluate whether a Marker matched its grandparent took 3 times longer
-than evaluating the Marker itself. Even then though, evaluating Markers
-is inexpensive compared to resolving the callers class name or line
-number.</p>
-</li>
-</ol>
+<div class="listingblock">
+<div class="content">
+<pre>{LoginId=testUser, Role=Admin, Count=1} Login succeeded</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Every logging call is wrapped in a ScopedContext and populated by the supplier configured on the ResourceLogger, which is called when generating every log event. This allows values, such as counters, to be updated and the log event will contain the actual value at the time the event was logged.</p>
 </div>
 </article>
   </div>
diff --git a/manual/logbuilder.html b/manual/scoped-context.html
similarity index 70%
copy from manual/logbuilder.html
copy to manual/scoped-context.html
index edc051d164..7e84cfd034 100644
--- a/manual/logbuilder.html
+++ b/manual/scoped-context.html
@@ -3,8 +3,8 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Log Builder :: Apache Log4j</title>
-    <link rel="canonical" href="https://logging.apache.org/log4j/3.x/manual/logbuilder.html">
+    <title>Scoped Context :: Apache Log4j</title>
+    <link rel="canonical" href="https://logging.apache.org/log4j/3.x/manual/scoped-context.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">
@@ -102,7 +102,7 @@
     <button class="nav-item-toggle"></button>
     <a class="nav-link" href="api.html">Log4j API</a>
 <ul class="nav-list">
-  <li class="nav-item is-current-page" data-depth="3">
+  <li class="nav-item" data-depth="3">
     <a class="nav-link" href="logbuilder.html">Log Builder</a>
   </li>
   <li class="nav-item" data-depth="3">
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item is-current-page" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
@@ -271,126 +277,125 @@
     <li>Learn</li>
     <li><a href="index.html">Manual</a></li>
     <li><a href="api.html">Log4j API</a></li>
-    <li><a href="logbuilder.html">Log Builder</a></li>
+    <li><a href="scoped-context.html">Scoped Context</a></li>
   </ul>
 </nav>
-<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/ROOT/pages/manual/logbuilder.adoc">Edit this Page</a></div>
+<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/ROOT/pages/manual/scoped-context.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">Log Builder</h1>
+<h1 class="page">Scoped Context</h1>
 <div id="preamble">
 <div class="sectionbody">
 <div class="paragraph">
-<p>Log4j has traditionally been used with logging statements like</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">logger.error("Unable to process request due to {}", code, exception);</code></pre>
+<p>The <code>ScopedContext</code> is similar to the ThreadContextMap in that it allows key/value pairs to be included
+in many log events. However, the pairs in a <code>ScopedContext</code> are only available to
+application code and log events running within the scope of the <code>ScopeContext</code> object.</p>
 </div>
+<div class="paragraph">
+<p>The <code>ScopeContext</code> is essentially a builder that allows key/value pairs to be added to it
+prior to invoking a method. The key/value pairs are available to any code running within
+that method and will be included in all logging events as if they were part of the <code>ThreadContextMap</code>.</p>
 </div>
 <div class="paragraph">
-<p>This has resulted in some confusion as to whether the exception should be a parameter to the message or
-if Log4j should handle it as a throwable. In order to make logging clearer a builder pattern has been
-added to the API. Using the builder syntax the above would be handled as:</p>
+<p>ScopedContext is immutable. Each invocation of the <code>where</code> method returns a new ScopedContext.Instance
+with the specified key/value pair added to those defined in previous ScopedContexts.</p>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">logger.atError().withThrowable(exception).log("Unable to process request due to {}", code);</code></pre>
+<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">ScopedContext.where("id", UUID.randomUUID())
+    .where("ipAddress", request.getRemoteAddr())
+    .where("loginId", session.getAttribute("loginId"))
+    .where("hostName", request.getServerName())
+    .run(new Worker());
+
+private class Worker implements Runnable {
+    private static final Logger LOGGER = LogManager.getLogger(Worker.class);
+
+    public void run() {
+        LOGGER.debug("Performing work");
+        String loginId = ScopedContext.get("loginId");
+    }
+}</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>With this syntax it is clear that the exception is to be treated as a Throwable by Log4j.</p>
+<p>The values in the ScopedContext can be any Java object. However, objects stored in the
+context Map will be converted to Strings when stored in a LogEvent. To aid in
+this Objects may implement the Renderable interface which provides a <code>render</code> method
+to format the object. By default, objects will have their toString() method called
+if they do not implement the Renderable interface.</p>
 </div>
 <div class="paragraph">
-<p>The Logger class now returns a LogBuilder when any of the atTrace, atDebug, atInfo, atWarn, atError,
-atFatal, always, or atLevel(Level) methods are called. The logBuilder then allows a Marker, Throwable,
-and/or location to be added to the event before it is logged. A call to the log method always causes the
-log event to be finalized and sent.</p>
+<p>Note that in the example above <code>UUID.randomUUID()</code> returns a UUID. By default, when it is
+included in LogEvents its toString() method will be used.</p>
 </div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_thread_support"><a class="anchor" href="#_thread_support"></a>Thread Support</h2>
+<div class="sectionbody">
 <div class="paragraph">
-<p>A logging statement with a Marker, Throwable, and location would look like:</p>
+<p>ScopedContext provides support for passing the ScopedContext and the ThreadContext to
+child threads by way of an ExecutorService. For example, the following will create a
+ScopedContext and pass it to a child thread.</p>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">logger.atInfo().withMarker(marker).withLocation().withThrowable(exception).log("Login for user {} failed", userId);</code></pre>
+<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">BlockingQueue&lt;Runnable&gt; workQueue = new ArrayBlockingQueue&lt;&gt;(5);
+ExecutorService executorService = new ThreadPoolExecutor(1, 2, 30, TimeUnit.SECONDS, workQueue);
+Future&lt;?&gt; future = ScopedContext.where("id", UUID.randomUUID())
+    .where("ipAddress", request.getRemoteAddr())
+    .where("loginId", session.getAttribute("loginId"))
+    .where("hostName", request.getServerName())
+    .run(executorService, new Worker());
+try {
+    future.get();
+} catch (ExecutionException ex) {
+    logger.warn("Exception in worker thread: {}", ex.getMessage());
+}
+
+private class Worker implements Runnable {
+    private static final Logger LOGGER = LogManager.getLogger(Worker.class);
+
+    public void run() {
+        LOGGER.debug("Performing work");
+        String loginId = ScopedContext.get("loginId");
+    }
+}</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>Providing the location method on the LogBuilder provides two distinct advantages:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Logging wrappers can use it to provide the location information to be used by Log4j.&lt;/li&gt;</p>
-</li>
-<li>
-<p>The overhead of capturing location information when using the location method with no
-parameters is much better than having to calculate the location information when it is needed. Log4j
-can simply ask for the stack trace entry at a fixed index instead of having to walk the stack trace
-to determine the calling class. Of course, if the location information will not be used by the layout
-this will result in slower performance.&lt;/li&gt;</p>
-</li>
-</ol>
+<p>ScopeContext also supports call methods in addition to run methods so the called functions can
+directly return values.</p>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_location_performance"><a class="anchor" href="#_location_performance"></a>Location Performance</h2>
+<h2 id="_nested_scopedcontexts"><a class="anchor" href="#_nested_scopedcontexts"></a>Nested ScopedContexts</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The table below shows some of the results from the FileAppenderBenchmark and FileAppenderWithLocationBenchmark
-classes in the log4j-perf-test project when configured to use 4 threads. The results show that lazily including
-the location information is about 8 times slower than not including location information. While using the
-withLocation method of LogBuilder is about 3 times faster than lazily calculating the location information
-it is still about 2.5 times slower than not including location information.</p>
+<p>ScopedContexts may be nested. Becuase ScopedContexts are immutable the <code>where</code> method may
+be called on the current ScopedContext from within the run or call methods to append new
+key/value pairs. In addition, when passing a single key/value pair the run or call method
+may be combined with a where method as shown below.</p>
 </div>
-<div class="paragraph">
-<p>The tests were run on a 2018 MacBook Pro with a 2.9 GHz Intel Core i9 processor with 6 cores, 32 GB of memory
-and 1 TB of SSD storage on Java 11 using Log4j 2.13.0 and Logback 1.2.3.
-<span class="image"><img src="../_images/LocationPerf.png" alt="Location Performance"></span></p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">        ScopedContext.runWhere("key1", "value1", () -&gt; {
+            assertThat(ScopedContext.get("key1"), equalTo("value1"));
+            ScopedContext.where("key2", "value2").run(() -&gt; {
+                assertThat(ScopedContext.get("key1"), equalTo("value1"));
+                assertThat(ScopedContext.get("key2"), equalTo("value2"));
+            });
+        });</code></pre>
 </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">Test</th>
-<th class="tableblock halign-left valign-top">Print Location Info</th>
-<th class="tableblock halign-left valign-top">No Location Info Printed</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j2 File</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">191,509.724 ± 11339.978  ops/s</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1,407,329.130 ± 22595.997  ops/s</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log4j2 Log Builder withLocation()</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">469,200.684 ± 50025.985  ops/s</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">577,127.463 ± 11464.342  ops/s</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Logback File</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">159,116.538 ± 1884.969  ops/s</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">1,240,438.384 ± 76619.873  ops/s</p></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p>As expected, when using LogBuilder with a call to the withLocation() method logging is much faster when
-location information is used in the output but significantly slower when it is not.</p>
 </div>
 <div class="paragraph">
-<p>Note: Running the tests at various times provides varying results. Although some results have been as much
-as 10% higher all results are generally affected similarly so the comparisons between them stay the same.</p>
+<p>ScopedContexts ALWAYS inherit the key/value pairs from their parent scope. key/value pairs may be removed from the context by passing a null value with the key. Note that where methods that accept a Map MUST NOT include null keys or values in the map.</p>
 </div>
 </div>
 </div>
diff --git a/manual/systemproperties.html b/manual/systemproperties.html
index a7a56045e3..2c5ccbef44 100644
--- a/manual/systemproperties.html
+++ b/manual/systemproperties.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
@@ -1146,14 +1152,6 @@ must have a default constructor.</p></td>
 LoggerContext is started. For debug purposes.</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">ThreadContext</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">contextDataInjector</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">log4j2.contextDataInjector, LOG4J_CONTEXT_DATA_INJECTOR</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">System/Application</p></td>
-<td class="tableblock halign-left valign-top"></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Fully specified class name of a custom <code>ContextDataInjector</code> implementation class.</p></td>
-</tr>
-<tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock">TransportSecurity</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">keyStoreLocation</p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock">log4j2.keyStoreLocation, LOG4J_KEY_STORE_LOCATION</p></td>
diff --git a/manual/thread-context.html b/manual/thread-context.html
index 620be57839..7a31cad9e2 100644
--- a/manual/thread-context.html
+++ b/manual/thread-context.html
@@ -120,6 +120,12 @@
   <li class="nav-item is-current-page" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/manual/usage.html b/manual/usage.html
index 559e13014a..1a2b4a484c 100644
--- a/manual/usage.html
+++ b/manual/usage.html
@@ -120,6 +120,12 @@
   <li class="nav-item" data-depth="3">
     <a class="nav-link" href="thread-context.html">Thread Context</a>
   </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scoped-context.html">Scoped Context</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="resource-logger.html">Resource Logging</a>
+  </li>
 </ul>
   </li>
   <li class="nav-item" data-depth="2">
diff --git a/plugin-reference.html b/plugin-reference.html
index d4d5b4a1f6..84bb707af2 100644
--- a/plugin-reference.html
+++ b/plugin-reference.html
@@ -120,6 +120,12 @@
   <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">
@@ -1406,7 +1412,7 @@ Originally developed by Ceki Glc and Anders Kristensen.</p>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code>header</code></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String?</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td>
 <td class="tableblock halign-left valign-top"></td>
 <td class="tableblock halign-left valign-top"><div class="content"></div></td>
 </tr>
@@ -10626,7 +10632,7 @@ DENY.</p>
 <p>Compares against a log level that is associated with a context value.</p>
 </div>
 <div class="paragraph">
-<p>By default the context is the <code>org.apache.logging.log4j.ThreadContext</code>, but users may <em>configure</em> a custom <code>org.apache.logging.log4j.core.ContextDataInjector</code> which obtains context data from some other source.</p>
+<p>By default the context is the <code>org.apache.logging.log4j.ThreadContext</code>, but users may <em>configure</em> a custom <code>org.apache.logging.log4j.core.util.ContextDataProvider</code> which obtains context data from some other source.</p>
 </div>
 <div class="sect4">
 <h5 id="org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-filter-DynamicThresholdFilter_XML-snippet"><a class="anchor" href="#org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-filter-DynamicThresholdFilter_XML-snippet"></a>XML snippet</h5>
@@ -13179,7 +13185,7 @@ The default is false.</p>
 <p>Looks up keys from the context.</p>
 </div>
 <div class="paragraph">
-<p>By default this is the <code>org.apache.logging.log4j.ThreadContext</code>, but users may <em>configure</em> a custom <code>org.apache.logging.log4j.core.ContextDataInjector</code> which obtains context data from some other source.</p>
+<p>By default this is the <code>org.apache.logging.log4j.ThreadContext</code>, but users may <em>configure</em> a custom <code>org.apache.logging.log4j.core.util.ContextDataProvider</code> which obtains context data from some other source.</p>
 </div>
 <div class="sect4">
 <h5 id="org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-lookup-ContextMapLookup_XML-snippet"><a class="anchor" href="#org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-lookup-ContextMapLookup_XML-snippet"></a>XML snippet</h5>
diff --git a/release-notes.html b/release-notes.html
index 30ed51096b..4a8cf8749e 100644
--- a/release-notes.html
+++ b/release-notes.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/runtime-dependencies.html b/runtime-dependencies.html
index 14dd814493..d76cce3d90 100644
--- a/runtime-dependencies.html
+++ b/runtime-dependencies.html
@@ -120,6 +120,12 @@
   <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">
diff --git a/sitemap.xml b/sitemap.xml
index b87c36300e..343fd6c172 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,230 +2,238 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
 <loc>https://logging.apache.org/log4j/3.x/articles.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/download.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/faq.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/getting-started/index.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/guidelines.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/index.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/javadoc.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-1.2-api.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-api.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-docker.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-flume-ng.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-iostreams.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-jpl.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-jul.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-mongodb4.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j-impl.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j2-impl.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-to-jul.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-to-slf4j.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/api-separation.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/api.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/architecture.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/async.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/cloud.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/compatibility.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/configuration.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/customconfig.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/customloglevels.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/dependencyinjection.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/eventlogging.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/extending.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/filters.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/flowtracing.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/garbagefree.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/index.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/installation.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/jmx.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/json-template-layout.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/layouts.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/log4j1-compat.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/logbuilder.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/logsep.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/lookups.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/markers.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/messages.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/migration.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/performance.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/plugins.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
+</url>
+<url>
+<loc>https://logging.apache.org/log4j/3.x/manual/resource-logger.html</loc>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
+</url>
+<url>
+<loc>https://logging.apache.org/log4j/3.x/manual/scoped-context.html</loc>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/systemproperties.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/thread-context.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/usage.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/plugin-reference.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/release-notes.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/runtime-dependencies.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/thanks.html</loc>
-<lastmod>2024-04-21T18:33:56.869Z</lastmod>
+<lastmod>2024-04-22T04:31:21.294Z</lastmod>
 </url>
 </urlset>
diff --git a/thanks.html b/thanks.html
index 99471e9913..16b8bd6c31 100644
--- a/thanks.html
+++ b/thanks.html
@@ -120,6 +120,12 @@
   <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">