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 b60fc5120d Add website content generated from 
`0784be4ff2cddb8267bcb15e5736a9533b3ad2f0`
b60fc5120d is described below

commit b60fc5120d11f693651d4050f3bf07fdfaf99201
Author: ASF Logging Services RM <[email protected]>
AuthorDate: Thu Oct 10 09:07:54 2024 +0000

    Add website content generated from 
`0784be4ff2cddb8267bcb15e5736a9533b3ad2f0`
---
 javadoc/log4j-core/deprecated-list.html            |   4 +-
 javadoc/log4j-core/index-all.html                  |   6 +-
 .../log4j/core/config/class-use/Configuration.html |   2 +-
 .../core/pattern/ThrowablePatternConverter.html    |   8 +-
 .../apache/logging/log4j/core/util/Throwables.html |   9 +-
 manual/pattern-layout.html                         | 247 ++++++++++++++-------
 plugin-reference.html                              |   7 +-
 sitemap.xml                                        | 100 ++++-----
 8 files changed, 235 insertions(+), 148 deletions(-)

diff --git a/javadoc/log4j-core/deprecated-list.html 
b/javadoc/log4j-core/deprecated-list.html
index 43b5bef753..a4a78cc1e0 100644
--- a/javadoc/log4j-core/deprecated-list.html
+++ b/javadoc/log4j-core/deprecated-list.html
@@ -318,11 +318,11 @@ loadScripts(document, 'script');</script>
 </div>
 <div class="col-summary-item-name even-row-color"><a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String%5B%5D)">org.apache.logging.log4j.core.pattern.ThrowablePatternConverter<wbr>(String,
 String, String[])</a></div>
 <div class="col-last even-row-color">
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 <div class="col-summary-item-name odd-row-color"><a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String%5B%5D,org.apache.logging.log4j.core.config.Configuration)">org.apache.logging.log4j.core.pattern.ThrowablePatternConverter<wbr>(String,
 String, String[], Configuration)</a></div>
 <div class="col-last odd-row-color">
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </div>
 </div>
diff --git a/javadoc/log4j-core/index-all.html 
b/javadoc/log4j-core/index-all.html
index 5e4e043083..a497d8efb4 100644
--- a/javadoc/log4j-core/index-all.html
+++ b/javadoc/log4j-core/index-all.html
@@ -6561,7 +6561,7 @@ loadScripts(document, 'script');</script>
 <dd>&nbsp;</dd>
 <dt><a 
href="org/apache/logging/log4j/core/util/Throwables.html#getRootCause(java.lang.Throwable)"
 class="member-name-link">getRootCause(Throwable)</a> - Static method in class 
org.apache.logging.log4j.core.util.<a 
href="org/apache/logging/log4j/core/util/Throwables.html" title="class in 
org.apache.logging.log4j.core.util">Throwables</a></dt>
 <dd>
-<div class="block">Returns the deepest cause of the given 
<code>throwable</code>.</div>
+<div class="block">Extracts the deepest exception in the causal chain of the 
given <code>throwable</code>.</div>
 </dd>
 <dt><a 
href="org/apache/logging/log4j/core/config/AbstractConfiguration.html#getRootLogger()"
 class="member-name-link">getRootLogger()</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>
@@ -13384,13 +13384,13 @@ loadScripts(document, 'script');</script>
 <dt><a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String%5B%5D)"
 class="member-name-link">ThrowablePatternConverter(String, String, 
String[])</a> - Constructor for class org.apache.logging.log4j.core.pattern.<a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html" 
title="class in 
org.apache.logging.log4j.core.pattern">ThrowablePatternConverter</a></dt>
 <dd>
 <div class="deprecation-block"><span 
class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </dd>
 <dt><a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String%5B%5D,org.apache.logging.log4j.core.config.Configuration)"
 class="member-name-link">ThrowablePatternConverter(String, String, String[], 
Configuration)</a> - Constructor for class 
org.apache.logging.log4j.core.pattern.<a 
href="org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html" 
title="class in org.apache.logging.log4j.core.patter [...]
 <dd>
 <div class="deprecation-block"><span 
class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </dd>
 <dt><a href="org/apache/logging/log4j/core/util/Throwables.html" 
class="type-name-link" title="class in 
org.apache.logging.log4j.core.util">Throwables</a> - Class in <a 
href="org/apache/logging/log4j/core/util/package-summary.html">org.apache.logging.log4j.core.util</a></dt>
diff --git 
a/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Configuration.html
 
b/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Configuration.html
index cab432f430..53b1a5f13f 100644
--- 
a/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Configuration.html
+++ 
b/javadoc/log4j-core/org/apache/logging/log4j/core/config/class-use/Configuration.html
@@ -1382,7 +1382,7 @@ loadScripts(document, 'script');</script>
  @Nullable <a href="../Configuration.html" title="interface in 
org.apache.logging.log4j.core.config">Configuration</a>&nbsp;config)</code></div>
 <div class="col-last odd-row-color">
 <div class="block"><span class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </div>
 </div>
diff --git 
a/javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html
 
b/javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html
index 5ba22a6555..e471ffdb66 100644
--- 
a/javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html
+++ 
b/javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html
@@ -141,7 +141,7 @@ loadScripts(document, 'script');</script>
  @Nullable <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;options)</code></div>
 <div class="col-last even-row-color">
 <div class="block"><span class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </div>
 <div class="col-first odd-row-color"><code>protected </code></div>
@@ -151,7 +151,7 @@ loadScripts(document, 'script');</script>
  @Nullable <a href="../config/Configuration.html" title="interface in 
org.apache.logging.log4j.core.config">Configuration</a>&nbsp;config)</code></div>
 <div class="col-last odd-row-color">
 <div class="block"><span class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </div>
 </div>
@@ -251,7 +251,7 @@ loadScripts(document, 'script');</script>
  <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;style,
  @Nullable <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;options)</span></div>
 <div class="deprecation-block"><span 
class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </section>
 </li>
@@ -264,7 +264,7 @@ loadScripts(document, 'script');</script>
  @Nullable <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;options,
  @Nullable <a href="../config/Configuration.html" title="interface in 
org.apache.logging.log4j.core.config">Configuration</a>&nbsp;config)</span></div>
 <div class="deprecation-block"><span 
class="deprecated-label">Deprecated.</span>
-<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, Function)</code> instead.</div>
+<div class="deprecation-comment">Use <code>ThrowablePatternConverter(String, 
String, String[], Configuration, ThrowablePropertyRendererFactory, 
ThrowableStackTraceRendererFactory)</code> instead.</div>
 </div>
 </section>
 </li>
diff --git 
a/javadoc/log4j-core/org/apache/logging/log4j/core/util/Throwables.html 
b/javadoc/log4j-core/org/apache/logging/log4j/core/util/Throwables.html
index 4fba5c6f07..98d2c718f4 100644
--- a/javadoc/log4j-core/org/apache/logging/log4j/core/util/Throwables.html
+++ b/javadoc/log4j-core/org/apache/logging/log4j/core/util/Throwables.html
@@ -97,7 +97,7 @@ loadScripts(document, 'script');</script>
 <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/lang/Throwable.html";
 title="class or interface in java.lang" 
class="external-link">Throwable</a></code></div>
 <div class="col-second even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code><a 
href="#getRootCause(java.lang.Throwable)" 
class="member-name-link">getRootCause</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;throwable)</code></div>
 <div class="col-last even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Returns the deepest cause of the given 
<code>throwable</code>.</div>
+<div class="block">Extracts the deepest exception in the causal chain of the 
given <code>throwable</code>.</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="#rethrow(java.lang.Throwable)" 
class="member-name-link">rethrow</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;t)</code></div>
@@ -130,12 +130,13 @@ loadScripts(document, 'script');</script>
 <section class="detail" id="getRootCause(java.lang.Throwable)">
 <h3>getRootCause</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/Throwable.html";
 title="class or interface in java.lang" 
class="external-link">Throwable</a></span>&nbsp;<span 
class="element-name">getRootCause</span><wbr><span class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html";
 title="class or interface in  [...]
-<div class="block">Returns the deepest cause of the given 
<code>throwable</code>.</div>
+<div class="block">Extracts the deepest exception in the causal chain of the 
given <code>throwable</code>.
+ Circular references will be handled and ignored.</div>
 <dl class="notes">
 <dt>Parameters:</dt>
-<dd><code>throwable</code> - the throwable to navigate</dd>
+<dd><code>throwable</code> - a throwable to navigate</dd>
 <dt>Returns:</dt>
-<dd>the deepest throwable or the given throwable</dd>
+<dd>the deepest exception in the causal chain</dd>
 </dl>
 </section>
 </li>
diff --git a/manual/pattern-layout.html b/manual/pattern-layout.html
index d3e46869a8..552b552c70 100644
--- a/manual/pattern-layout.html
+++ b/manual/pattern-layout.html
@@ -502,7 +502,7 @@ using an
 </td>
 <td class="content">
 <div class="paragraph">
-<p>If the provided pattern does not contain an exception converter and <a 
href="#plugin-attr-alwaysWriteExceptions"><code>alwaysWriteExceptions</code></a>
 is not disabled, an implicit <a 
href="#converter-exception-extended"><code>%xEX</code></a> is appended to the 
pattern.</p>
+<p>If the provided pattern does not contain an exception converter and <a 
href="#plugin-attr-alwaysWriteExceptions"><code>alwaysWriteExceptions</code></a>
 is not disabled, an implicit <a 
href="#converter-exception-extended"><code>%xEx</code></a> is appended to the 
pattern.</p>
 </div>
 </td>
 </tr>
@@ -566,7 +566,7 @@ If configured, the <code>replace</code> element must 
specify the regular express
 </tbody>
 </table>
 <div class="paragraph">
-<p>If <code>true</code> and the user-provided pattern does not contain an 
exception converter, an implicit <a 
href="#converter-exception-extended"><code>%xEX</code></a> pattern is appended.
+<p>If <code>true</code> and the user-provided pattern does not contain an 
exception converter, an implicit <a 
href="#converter-exception-extended"><code>%xEx</code></a> pattern is appended.
 This means that if you do not include a way to output exceptions in your 
pattern, the default exception formatter will be added to the end of the 
pattern.
 Setting this to <code>false</code> disables this behavior and allows you to 
exclude exceptions from your pattern output.</p>
 </div>
@@ -1308,7 +1308,7 @@ equalsIgnoreCase{pattern}{test}{substitution}</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>For example, <code>%equals{[%marker]}{[]}\{}</code> will replace 
<code>[]</code> strings produced by events without markers with an empty 
string.</p>
+<p>For example, <code>%equals{[%marker]}{[]}{}</code> will replace 
<code>[]</code> strings produced by events without markers with an empty 
string.</p>
 </div>
 <div class="paragraph">
 <p>The pattern can be arbitrarily complex and in particular can contain 
multiple conversion keywords.</p>
@@ -1317,82 +1317,118 @@ 
equalsIgnoreCase{pattern}{test}{substitution}</code></pre>
 <div class="sect3">
 <h4 id="converter-exception"><a class="anchor" 
href="#converter-exception"></a>Exception</h4>
 <div class="paragraph">
-<p>Outputs the <code>Throwable</code> attached to the log event</p>
+<p>Outputs information extracted from the <code>Throwable</code> attached to 
the log event.
+It features two modes:</p>
 </div>
-<div class="listingblock">
-<div class="title"><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html"><code>ThrowablePatternConverter</code></a>
 specifier grammar</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">ex|exception|throwable
-  { "none"
-  | "full"
-  | depth
-  | "short"
-  | "short.className"
-  | "short.fileName"
-  | "short.lineNumber"
-  | "short.methodName"
-  | "short.message"
-  | "short.localizedMessage"
-  }
-  {filters(package,package,...)}
-  {suffix(pattern)}
-  {separator(separator)}</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>By default this will output the full stack trace as one would normally find 
with a call to <code>Throwable#printStackTrace()</code>.</p>
-</div>
-<div class="paragraph">
-<p>You can follow the throwable conversion word with an option in the form 
<code>%throwable{option}</code>.</p>
-</div>
-<div class="paragraph">
-<p><code>%throwable{short}</code> outputs the first line of the 
<code>Throwable</code>.</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="#converter-exception-stack-trace">Rendering the exception stack 
trace</a> (the default mode)</p>
+</li>
+<li>
+<p><a href="#converter-exception-property">Extracting an exception 
property</a> (message, class name, line number, etc.)</p>
+</li>
+</ol>
 </div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
 <div class="paragraph">
-<p><code>%throwable{short.className}</code> outputs the name of the class 
where the exception occurred.</p>
+<p>Exception converter is not garbage-free.</p>
 </div>
-<div class="paragraph">
-<p><code>%throwable{short.methodName}</code> outputs the name of the method 
where the exception occurred.</p>
+</td>
+</tr>
+</table>
 </div>
+<div class="sect4">
+<h5 id="converter-exception-stack-trace"><a class="anchor" 
href="#converter-exception-stack-trace"></a>Exception stack trace</h5>
 <div class="paragraph">
-<p><code>%throwable{short.fileName}</code> outputs the name of the file 
containing the class where the exception occurred.</p>
+<p>In this mode, the exception stack trace will be rendered according to the 
configuration provided.</p>
 </div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
 <div class="paragraph">
-<p><code>%throwable{short.lineNumber}</code> outputs the line number of the 
file containing the class where the exception occurred.</p>
+<p>All rendered exception stack traces are ensured to be prefixed with a new 
line obtained using <code>System.lineSeparator()</code>.</p>
 </div>
-<div class="paragraph">
-<p><code>%throwable{short.message}</code> outputs the message.</p>
+</td>
+</tr>
+</table>
 </div>
 <div class="paragraph">
-<p><code>%throwable{short.localizedMessage}</code> outputs the localized 
message.</p>
+<p><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html"><code>ThrowablePatternConverter</code></a>
 specifier grammar <strong>for rendering stack traces</strong>:</p>
 </div>
-<div class="paragraph">
-<p><code>%throwable{n}</code> outputs the first <code>n</code> lines of the 
stack trace.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">ex|exception|throwable
+  { "none"
+  | "short"
+  | depth
+  | "full"
+  }
+  {filters(package,package,...)}
+  {separator(text)}
+  {suffix(pattern)}</code></pre>
 </div>
-<div class="paragraph">
-<p>Specifying <code>%throwable{none}</code> or <code>%throwable{0}</code> 
suppresses output of the exception.</p>
 </div>
 <div class="paragraph">
-<p>Use <code>{filters(packages)}</code>, where <code>packages</code> is a list 
of package names, to suppress matching stack frames from stack traces.</p>
+<p>If this mode is employed without any configuration, the output will be 
identical to the one obtained from <code>Throwable#printStackTrace()</code>.</p>
 </div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>none</code></dt>
+<dd>
+<p>Suppress the output of the converter</p>
+</dd>
+<dt class="hdlist1"><code>short</code></dt>
+<dd>
+<p>Outputs the first line of the stack trace (analogous to 
<code>%ex{1}</code>)</p>
+</dd>
+<dt class="hdlist1"><code>depth</code></dt>
+<dd>
+<p>Outputs the first <code>depth</code> lines of the stack trace 
(<code>%ex{0}</code> is analogous to <code>%ex{none}</code>)</p>
+</dd>
+<dt class="hdlist1"><code>full</code></dt>
+<dd>
+<p>Outputs the complete stack trace (analogous to no configuration)</p>
+</dd>
+<dt class="hdlist1"><code>filters(package,package,&#8230;&#8203;)</code></dt>
+<dd>
+<p>Suppresses stack trace elements of classes located in packages whose names 
start with the package names provided.
+Suppressed stack trace elements will be denoted in the output.
+For instance, <code>%ex{filters(org.junit)}</code> can be used to suppress 
JUnit classes in the rendered stack trace.</p>
+</dd>
+<dt class="hdlist1"><code>separator(text)</code></dt>
+<dt class="hdlist1"><code>suffix(pattern)</code></dt>
+<dd>
+<div class="openblock">
+<div class="content">
 <div class="paragraph">
 <p>You can change the used line separator in multiple ways:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Use <code>{separator(separator)}</code> to set the separator string literal.
+<p>Use <code>separator(text)</code> to set the separator string literal.
 It defaults to <code>System.lineSeparator()</code>.
-The contents of <code>separator</code> will be rendered verbatim without being 
subject to any processing.</p>
+The contents of <code>text</code> will be rendered verbatim without being 
subject to any processing.</p>
 </li>
 <li>
-<p><code>{suffix(pattern)}</code> is identical to 
<code>{separator(separator)}</code> with the exception that the provided 
<code>pattern</code> will be processed as a <a href="pattern-layout.html" 
class="xref page">Pattern Layout</a> conversion pattern before being rendered.
+<p><code>suffix(pattern)</code> is identical to <code>{separator(text)}</code> 
with the exception that the provided <code>pattern</code> will be processed as 
a <a href="pattern-layout.html" class="xref page">Pattern Layout</a> conversion 
pattern before being rendered.
 Exception-rendering directives in the <code>pattern</code> (<code>%ex</code>, 
<code>%rEx</code>, etc.) will be discarded.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
-<p><code>{separator(&#8230;&#8203;)}</code> and <code>{suffix(pattern)}</code> 
get concatenated to produce <em>the effective line separator</em> as 
follows:</p>
+<p><code>{separator(text)}</code> and <code>{suffix(pattern)}</code> get 
concatenated to produce <em>the effective line separator</em> as follows:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -1404,49 +1440,92 @@ Exception-rendering directives in the 
<code>pattern</code> (<code>%ex</code>, <c
 }</code></pre>
 </div>
 </div>
-<div class="admonitionblock warning">
+<div class="admonitionblock tip">
 <table>
 <tr>
 <td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
+<i class="fa icon-tip" title="Tip"></i>
 </td>
 <td class="content">
 <div class="paragraph">
-<p>Exception converter is not garbage-free.</p>
+<p>You are strongly advised to avoid using both <code>separator(text)</code> 
and <code>suffix(pattern)</code> at the same time; simply use one instead.</p>
 </div>
 </td>
 </tr>
 </table>
 </div>
 </div>
-<div class="sect3">
-<h4 id="converter-exception-extended"><a class="anchor" 
href="#converter-exception-extended"></a>Exception (Extended)</h4>
+</div>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect4">
+<h5 id="converter-exception-property"><a class="anchor" 
href="#converter-exception-property"></a>Exception property</h5>
 <div class="paragraph">
-<p>The same as <a href="#converter-exception">the <code>exception</code> 
converter</a>, but also includes class packaging information</p>
+<p>In this mode, extracted attributes of the <code>Throwable</code> are 
injected <em>verbatim</em>.
+That is, no newlines, suffixes, prefixes, etc. will be added.</p>
+</div>
+<div class="paragraph">
+<p><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html"><code>ThrowablePatternConverter</code></a>
 specifier grammar <strong>for extracting properties</strong>:</p>
 </div>
 <div class="listingblock">
-<div class="title"><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ThrowablePatternConverter.html"><code>ThrowablePatternConverter</code></a>
 specifier grammar</div>
 <div class="content">
-<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">xEx|xException|xThrowable
-  { "none"
-  | "full"
-  | depth
-  | "short"
-  | "short.className"
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">ex|exception|throwable
+  { "short.className"
   | "short.fileName"
   | "short.lineNumber"
   | "short.methodName"
   | "short.message"
   | "short.localizedMessage"
-  }
-  {filters(package,package,...)}
-  {suffix(pattern)}
-  {separator(separator)}</code></pre>
+  }</code></pre>
+</div>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>short.className</code></dt>
+<dd>
+<p>Class name of the first stack trace element in the causal chain</p>
+</dd>
+<dt class="hdlist1"><code>short.fileName</code></dt>
+<dd>
+<p>File name of the first stack trace element in the causal chain</p>
+</dd>
+<dt class="hdlist1"><code>short.lineNumber</code></dt>
+<dd>
+<p>Line number of the first stack trace element in the causal chain</p>
+</dd>
+<dt class="hdlist1"><code>short.methodName</code></dt>
+<dd>
+<p>Method name of the first stack trace element in the causal chain</p>
+</dd>
+<dt class="hdlist1"><code>short.message</code></dt>
+<dd>
+<p>Exception message</p>
+</dd>
+<dt class="hdlist1"><code>short.message</code></dt>
+<dd>
+<p>Localized exception message</p>
+</dd>
+</dl>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="converter-exception-extended"><a class="anchor" 
href="#converter-exception-extended"></a>Exception (Extended)</h4>
+<div class="paragraph">
+<p>The same as <a href="#converter-exception">the <code>exception</code> 
converter</a>, but additionally includes class packaging information in the 
rendered stack traces.</p>
+</div>
+<div class="listingblock">
+<div class="title"><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/ExtendedThrowablePatternConverter.html"><code>ExtendedThrowablePatternConverter</code></a>
 specifier grammar</div>
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">xEx|xException|xThrowable
+  [... same as the exception converter grammar ...]</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>Different from <a href="#converter-exception">the <code>%throwable</code> 
conversion</a>, at the end of each stack element of the exception, a string 
containing the name of the JAR file that contains the class or the directory 
the class is located in and the <code>Implementation-Version</code> as found in 
that JAR&#8217;s manifest will be added.
-If the information is uncertain, then the class packaging data will be 
preceded by a <code>~</code> (tilde) character.</p>
+<p>Each stack trace element is suffixed with a string containing the name of 
the JAR file that contains the class (or the directory the class is located in) 
and the <code>Implementation-Version</code> as found in that JAR&#8217;s 
manifest.
+If the information is uncertain, then the class packaging information will be 
preceded by a <code>~</code> (tilde) character.</p>
 </div>
 </div>
 <div class="sect3">
@@ -2067,27 +2146,29 @@ For instance, <code>%replace{%logger 
%msg}{\.}{/}</code> will replace all dots i
 <div class="sect3">
 <h4 id="converter-rootException"><a class="anchor" 
href="#converter-rootException"></a>Root exception</h4>
 <div class="paragraph">
-<p>The same as <a href="#converter-exception">the <code>exception</code> 
converter</a>, but the stack trace is printed starting with the first exception 
in the causal chain that was thrown followed by each subsequent wrapping 
exception</p>
+<p>Same as <a href="#converter-exception">the <code>exception</code> 
converter</a>, but the stack trace causal chain is processed in reverse 
order.</p>
 </div>
 <div class="listingblock">
 <div class="title"><a 
href="../javadoc/log4j-core/org/apache/logging/log4j/core/pattern/RootThrowablePatternConverter.html"><code>RootThrowablePatternConverter</code></a>
 specifier grammar</div>
 <div class="content">
 <pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">rEx|rException|rThrowable
-  { "none"
-  | "full"
-  | depth
-  | "short"
-  | "short.className"
-  | "short.fileName"
-  | "short.lineNumber"
-  | "short.methodName"
-  | "short.message"
-  | "short.localizedMessage"
-  }
-  {filters(package,package,...)}
-  {suffix(pattern)}
-  {separator(separator)}</code></pre>
+  [... same as the exception converter grammar ...]</code></pre>
+</div>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Note that the inverted causal chain will not only affect the stack trace, 
but also extracted properties.
+That is, for instance, <code>%rEx{short.className}</code> and 
<code>%ex{short.className}</code> might yield different results.</p>
 </div>
+</td>
+</tr>
+</table>
 </div>
 </div>
 <div class="sect3">
diff --git a/plugin-reference.html b/plugin-reference.html
index 7f881b59e0..31be675374 100644
--- a/plugin-reference.html
+++ b/plugin-reference.html
@@ -2667,7 +2667,12 @@ This attribute is ignored if <code>immediateFlush</code> 
is set to <code>true</c
 <tr>
 <td class="tableblock halign-left valign-top"><p 
class="tableblock"><code>Property</code></p></td>
 <td class="tableblock halign-left valign-top"><p class="tableblock"><code><a 
href="#org-apache-logging-log4j_log4j-core_org-apache-logging-log4j-core-config-Property">Property</a>?</code></p></td>
-<td class="tableblock halign-left valign-top"><div class="content"></div></td>
+<td class="tableblock halign-left valign-top"><div class="content"><div 
class="paragraph">
+<p>A generic list of key/value properties</p>
+</div>
+<div class="paragraph">
+<p>The meaning of these properties depends on the component.</p>
+</div></div></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-top"></td>
diff --git a/sitemap.xml b/sitemap.xml
index b388613ee4..5358c821b4 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,202 +2,202 @@
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/articles.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/components.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/development.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/download.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/faq.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/hibernate.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/index.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/javadoc.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-jul.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j-impl.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-slf4j2-impl.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/3.x/log4j-spring-cloud-config-client.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/log4j-to-jul.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/api.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders/database.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/3.x/manual/appenders/delegating.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders/file.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/3.x/manual/appenders/message-queue.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/appenders/network.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/3.x/manual/appenders/rolling-file.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/architecture.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/async.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/cloud.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/config-intro.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/configuration.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/customconfig.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/dependencyinjection.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/extending.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/filters.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/garbagefree.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/getting-started.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/implementation.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/index.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/installation.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 
<loc>https://logging.apache.org/log4j/3.x/manual/json-template-layout.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/layouts.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/lookups.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/pattern-layout.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/performance.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/plugins.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/scripts.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/systemproperties.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/manual/usage.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/migrate-from-log4j2.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/migrate-from-logback.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/migrate-from-slf4j.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/plugin-reference.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/release-notes.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 <url>
 <loc>https://logging.apache.org/log4j/3.x/thanks.html</loc>
-<lastmod>2024-10-09T12:47:04.983Z</lastmod>
+<lastmod>2024-10-10T09:07:25.960Z</lastmod>
 </url>
 </urlset>


Reply via email to