This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch 2.x-site-stg-out in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/2.x-site-stg-out by this push: new 777a69f372 Add website content generated from `6e7e345f306c39e97838ec392d0c9932b54738eb` 777a69f372 is described below commit 777a69f372022f8b31718a6030da7f40932aadcd Author: ASF Logging Services RM <priv...@logging.apache.org> AuthorDate: Fri Apr 26 20:11:08 2024 +0000 Add website content generated from `6e7e345f306c39e97838ec392d0c9932b54738eb` --- javadoc/log4j-api/index-all.html | 6 +- .../org/apache/logging/log4j/util/Constants.html | 39 ++++-- javadoc/log4j-core/index-all.html | 2 +- .../apache/logging/log4j/core/util/Constants.html | 10 +- manual/configuration.html | 8 +- manual/json-template-layout.html | 2 +- plugin-reference.html | 14 +-- release-notes.html | 3 + sitemap.xml | 134 ++++++++++----------- 9 files changed, 118 insertions(+), 100 deletions(-) diff --git a/javadoc/log4j-api/index-all.html b/javadoc/log4j-api/index-all.html index ef1bbbc7f9..f69baaa2f0 100644 --- a/javadoc/log4j-api/index-all.html +++ b/javadoc/log4j-api/index-all.html @@ -1089,7 +1089,7 @@ loadScripts(document, 'script');</script> </dd> <dt><a href="org/apache/logging/log4j/util/Constants.html#ENABLE_THREADLOCALS" class="member-name-link">ENABLE_THREADLOCALS</a> - Static variable in class org.apache.logging.log4j.util.<a href="org/apache/logging/log4j/util/Constants.html" title="class in org.apache.logging.log4j.util">Constants</a></dt> <dd> -<div class="block">Kill switch for object pooling in ThreadLocals that enables much of the LOG4J2-1270 no-GC behaviour.</div> +<div class="block">Specifies whether Log4j can bind non-JRE types to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html" title="class or interface in java.lang" class="external-link"><code>ThreadLocal</code></a>s</div> </dd> <dt><a href="org/apache/logging/log4j/util/Base64Util.html#encode(java.lang.String)" class="member-name-link">encode(String)</a> - Static method in class org.apache.logging.log4j.util.<a href="org/apache/logging/log4j/util/Base64Util.html" title="class in org.apache.logging.log4j.util">Base64Util</a></dt> <dd> @@ -3741,9 +3741,7 @@ loadScripts(document, 'script');</script> </dd> <dt><a href="org/apache/logging/log4j/util/Constants.html#IS_WEB_APP" class="member-name-link">IS_WEB_APP</a> - Static variable in class org.apache.logging.log4j.util.<a href="org/apache/logging/log4j/util/Constants.html" title="class in org.apache.logging.log4j.util">Constants</a></dt> <dd> -<div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class - is present in the classpath.</div> +<div class="block">Specifies whether Log4j is used in a servlet container</div> </dd> <dt><a href="org/apache/logging/log4j/util/OsgiServiceLocator.html#isAvailable()" class="member-name-link">isAvailable()</a> - Static method in class org.apache.logging.log4j.util.<a href="org/apache/logging/log4j/util/OsgiServiceLocator.html" title="class in org.apache.logging.log4j.util">OsgiServiceLocator</a></dt> <dd> </dd> diff --git a/javadoc/log4j-api/org/apache/logging/log4j/util/Constants.html b/javadoc/log4j-api/org/apache/logging/log4j/util/Constants.html index 83ec5f60cb..3c2d346200 100644 --- a/javadoc/log4j-api/org/apache/logging/log4j/util/Constants.html +++ b/javadoc/log4j-api/org/apache/logging/log4j/util/Constants.html @@ -105,14 +105,12 @@ loadScripts(document, 'script');</script> <div class="col-first even-row-color"><code>static final boolean</code></div> <div class="col-second even-row-color"><code><a href="#ENABLE_THREADLOCALS" class="member-name-link">ENABLE_THREADLOCALS</a></code></div> <div class="col-last even-row-color"> -<div class="block">Kill switch for object pooling in ThreadLocals that enables much of the LOG4J2-1270 no-GC behaviour.</div> +<div class="block">Specifies whether Log4j can bind non-JRE types to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html" title="class or interface in java.lang" class="external-link"><code>ThreadLocal</code></a>s</div> </div> <div class="col-first odd-row-color"><code>static final boolean</code></div> <div class="col-second odd-row-color"><code><a href="#IS_WEB_APP" class="member-name-link">IS_WEB_APP</a></code></div> <div class="col-last odd-row-color"> -<div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class - is present in the classpath.</div> +<div class="block">Specifies whether Log4j is used in a servlet container</div> </div> <div class="col-first even-row-color"><code>static final int</code></div> <div class="col-second even-row-color"><code><a href="#JAVA_MAJOR_VERSION" class="member-name-link">JAVA_MAJOR_VERSION</a></code></div> @@ -154,19 +152,40 @@ loadScripts(document, 'script');</script> <section class="detail" id="IS_WEB_APP"> <h3>IS_WEB_APP</h3> <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">boolean</span> <span class="element-name">IS_WEB_APP</span></div> -<div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class - is present in the classpath.</div> +<div class="block">Specifies whether Log4j is used in a servlet container + <p> + If <code>true</code> Log4j disables the features, which are incompatible with a typical servlet application: + </p> + <ol> + <li>It disables the usage of <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html" title="class or interface in java.lang" class="external-link"><code>ThreadLocal</code></a>s for object pooling (unless the user has explicitly provided a <a href="#ENABLE_THREADLOCALS"><code>ENABLE_THREADLOCALS</code></a> property)</li> + <li>It uses a web-application safe implementation of <a href="../spi/ThreadContextMap.html" title="interface in org.apache.logging.log4j.spi"><code>ThreadContextMap</code></a> + (see <a href="../spi/Provider.html#getThreadContextMap()"><code>Provider.getThreadContextMap()</code></a>),</li> + <li>It disables the shutdown hook,</li> + <li>It uses the caller thread to send JMX notifications.</li> + </ol> + <p> + The value of this constant depends upon the presence of the Servlet API on the classpath and can be + overridden using the <code>"log4j2.isWebapp"</code> system property. + </p></div> </section> </li> <li> <section class="detail" id="ENABLE_THREADLOCALS"> <h3>ENABLE_THREADLOCALS</h3> <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">boolean</span> <span class="element-name">ENABLE_THREADLOCALS</span></div> -<div class="block">Kill switch for object pooling in ThreadLocals that enables much of the LOG4J2-1270 no-GC behaviour. +<div class="block">Specifies whether Log4j can bind non-JRE types to <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html" title="class or interface in java.lang" class="external-link"><code>ThreadLocal</code></a>s + <p> + The value of this constant is <code>true</code>, unless Log4j is running in a servlet container (cf. + <a href="#IS_WEB_APP"><code>IS_WEB_APP</code></a>). Use the <code>"log4j2.enableThreadlocals</code> system property to override its value. + </p> + <p> + In order to enable the garbage-free behavior described in + <a href="https://issues.apache.org/jira/browse/LOG4J2-1270">LOG4J2-1270</a>, this constant must be <code> + true</code>. + </p> <p> - <code>True</code> for non-<a href="#IS_WEB_APP"><code>web apps</code></a>, disable by setting system property - "log4j2.enable.threadlocals" to "false". + <strong>Warning:</strong> This setting does <strong>not</strong> disable all thread locals. It only + disables those thread locals that can cause a classloader memory leak. </p></div> </section> </li> diff --git a/javadoc/log4j-core/index-all.html b/javadoc/log4j-core/index-all.html index b5559ef2be..36c3fc68ca 100644 --- a/javadoc/log4j-core/index-all.html +++ b/javadoc/log4j-core/index-all.html @@ -9816,7 +9816,7 @@ loadScripts(document, 'script');</script> <dt><a href="org/apache/logging/log4j/core/util/Constants.html#IS_WEB_APP" class="member-name-link">IS_WEB_APP</a> - Static variable in class org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/Constants.html" title="class in org.apache.logging.log4j.core.util">Constants</a></dt> <dd> <div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class + "log4j2.isWebapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class is present in the classpath.</div> </dd> <dt><a href="org/apache/logging/log4j/core/util/ReflectionUtil.html#isAccessible(T)" class="member-name-link">isAccessible(T)</a> - Static method in class org.apache.logging.log4j.core.util.<a href="org/apache/logging/log4j/core/util/ReflectionUtil.html" title="class in org.apache.logging.log4j.core.util">ReflectionUtil</a></dt> diff --git a/javadoc/log4j-core/org/apache/logging/log4j/core/util/Constants.html b/javadoc/log4j-core/org/apache/logging/log4j/core/util/Constants.html index a611f401db..94e7b893e5 100644 --- a/javadoc/log4j-core/org/apache/logging/log4j/core/util/Constants.html +++ b/javadoc/log4j-core/org/apache/logging/log4j/core/util/Constants.html @@ -131,7 +131,7 @@ loadScripts(document, 'script');</script> <div class="col-second odd-row-color"><code><a href="#IS_WEB_APP" class="member-name-link">IS_WEB_APP</a></code></div> <div class="col-last odd-row-color"> <div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class + "log4j2.isWebapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class is present in the classpath.</div> </div> <div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> @@ -318,7 +318,7 @@ loadScripts(document, 'script');</script> <h3>IS_WEB_APP</h3> <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type">boolean</span> <span class="element-name">IS_WEB_APP</span></div> <div class="block"><code>true</code> if we think we are running in a web container, based on the boolean value of system property - "log4j2.is.webapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class + "log4j2.isWebapp", or (if this system property is not set) whether the <code>javax.servlet.Servlet</code> class is present in the classpath.</div> </section> </li> @@ -344,9 +344,9 @@ loadScripts(document, 'script');</script> <a href="../layout/ByteBufferDestination.html" title="interface in org.apache.logging.log4j.core.layout"><code>ByteBufferDestination</code></a>s without creating intermediate temporary Objects. <p> - <code>True</code> by default iff all loggers are asynchronous because system property - <code>Log4jContextSelector</code> is set to <code>org.apache.logging.log4j.core.async.AsyncLoggerContextSelector</code>. - Disable by setting system property "log4j2.enable.direct.encoders" to "false".</div> + This constant is <code>true</code> by default, but can be disabled using the + <code>"log4j2.enableDirectEncoders"</code> system property. + </p></div> <dl class="notes"> <dt>Since:</dt> <dd>2.6</dd> diff --git a/manual/configuration.html b/manual/configuration.html index 09e7ed0181..e4d1f2f8b1 100644 --- a/manual/configuration.html +++ b/manual/configuration.html @@ -3046,11 +3046,9 @@ or as if it is not part of a web application (when false).</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="enableThreadlocals"></a>log4j2.enableThreadlocals (<a id="log4j2.enable.threadlocals"></a>log4j2.enable.threadlocals)</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">LOG4J_ENABLE_THREADLOCALS</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">This system property can be used to switch off the use of threadlocals, which will partly disable - Log4j’s garbage-free behaviour: to be fully garbage-free, Log4j stores - objects in ThreadLocal fields to reuse them, otherwise new objects are created for each log event. - Note that this property is not effective when Log4j detects it is running in a web application.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">!log4j2.isWebapp</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">This system property can be used to switch off the use of those thread locals, which can cause classloader leaks in a web application. +This will partly disable Log4j’s garbage-free behaviour: to be fully garbage-free, Log4j stores objects in ThreadLocal fields to reuse them, instead of creating new objects for each log event.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a id="enableDirectEncoders"></a>log4j2.enableDirectEncoders diff --git a/manual/json-template-layout.html b/manual/json-template-layout.html index 48c7efb181..f9644bf5ff 100644 --- a/manual/json-template-layout.html +++ b/manual/json-template-layout.html @@ -1568,7 +1568,7 @@ index = "index" -> number</code></pre> <p>Regarding garbage footprint, <code>stringified</code> flag translates to <code>String.valueOf(value)</code>, hence mind not-<code>String</code>-typed values. Further, <code>logEvent.getMessage()</code> is expected to implement <code>ParameterVisitable</code> interface, -which is the case if <code>log4j2.enableThreadLocals</code> property set to true.</p> +which is the case if <code>log4j2.enableThreadlocals</code> property set to true.</p> </div> </td> </tr> diff --git a/plugin-reference.html b/plugin-reference.html index d3d7ecc0f5..7fc1d3845d 100644 --- a/plugin-reference.html +++ b/plugin-reference.html @@ -1415,7 +1415,7 @@ Originally developed by Ceki Glc and Anders Kristensen.</p> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>header</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String?</code></p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><div class="content"></div></td> </tr> @@ -15829,10 +15829,10 @@ Supports Lookup expressions.</p> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> </div> <div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> </div></div></td> </tr> <tr> @@ -17128,10 +17128,10 @@ Supports Lookup expressions.</p> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> </div> <div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> </div></div></td> </tr> <tr> @@ -17327,10 +17327,10 @@ Supports Lookup expressions.</p> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean?</code></p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> </div> <div class="paragraph"> -<p>If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</p> +<p>If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true".</p> </div></div></td> </tr> <tr> diff --git a/release-notes.html b/release-notes.html index 1356e4f060..b72520eabc 100644 --- a/release-notes.html +++ b/release-notes.html @@ -346,6 +346,9 @@ <p>Replace some usages of <code>DateTimeFormatter#toString()</code> with <code>DateTimeFormatter#formatTo(StringBuilder)</code> to cut down on allocations (<a href="https://github.com/apache/logging-log4j2/pull/2515">2515</a>)</p> </li> <li> +<p>Prioritize user-defined values of <code>log4j2.enableThreadLocals</code>, <code>log4j2.garbagefreeThreadContextMap</code> and <code>log4j2.shutdownHookEnabled</code> over the value of <code>log4j.isWebapp</code>.</p> +</li> +<li> <p>Deprecate <code>org.apache.logging.log4j.core.appender.rolling.action.Duration</code> class for removal.</p> </li> <li> diff --git a/sitemap.xml b/sitemap.xml index d2fd220268..d51d40f31d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,270 +2,270 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://logging.apache.org/log4j/2.x/articles.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/download.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/faq.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/guidelines.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/index.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/javadoc.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-1.2-api.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-api.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-appserver.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-cassandra.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-couchdb.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-docker.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-flume-ng.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-iostreams.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-jakarta-web.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-jcl.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-jmx-gui.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-jpl.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-jul.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-mongodb3.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-mongodb4.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-slf4j-impl.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-slf4j2-impl.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-spring-boot.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config-client.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-spring-cloud-config.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-taglib.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-to-jul.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-to-slf4j.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/log4j-web.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/api-separation.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/api.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/appenders.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/architecture.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/async.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/cloud.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/compatibility.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/configuration.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/customconfig.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/customloglevels.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/eventlogging.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/extending.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/filters.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/flowtracing.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/garbagefree.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/index.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/installation.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/jmx.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/json-template-layout.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/layouts.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/logbuilder.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/logsep.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/lookups.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/markers.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/messages.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/migration.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/performance.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/plugins.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/resource-logger.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/scoped-context.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/thread-context.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/usage.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/manual/webapp.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/plugin-reference.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/release-notes.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/runtime-dependencies.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> <url> <loc>https://logging.apache.org/log4j/2.x/thanks.html</loc> -<lastmod>2024-04-26T20:10:02.414Z</lastmod> +<lastmod>2024-04-26T20:10:47.349Z</lastmod> </url> </urlset>