This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/logging-site.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new ef927ddf Automatic Site Publish by Buildbot
ef927ddf is described below
commit ef927ddf1cb4b872f66474a29b5d931458830f22
Author: buildbot <[email protected]>
AuthorDate: Tue Mar 19 20:12:06 2024 +0000
Automatic Site Publish by Buildbot
---
content/feed.xml | 2 +-
content/xml/ns/index.html | 29 +-
content/xml/ns/log4j-config-3.0.0.xsd | 613 ++++++++++++++++++++++++++++++++++
content/xml/ns/log4j-config-3.xsd | 1 +
4 files changed, 638 insertions(+), 7 deletions(-)
diff --git a/content/feed.xml b/content/feed.xml
index 477c56cf..fa7f217b 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2024-03-19T11:18:25+00:00</updated><id>/feed.xml</id><title
type="html">Apache Software Foundation - Logging
Services</title><subtitle>Write an awesome description for your new site here.
You can edit this line in _ [...]
+<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/"
version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self"
type="application/atom+xml" /><link href="/" rel="alternate" type="text/html"
/><updated>2024-03-19T20:12:05+00:00</updated><id>/feed.xml</id><title
type="html">Apache Software Foundation - Logging
Services</title><subtitle>Write an awesome description for your new site here.
You can edit this line in _ [...]
<p>Today, December 17, 2023 marks a significant milestone for the Apache
Logging Services project,
as we celebrate 20 years since the inception of Log4j 1.
diff --git a/content/xml/ns/index.html b/content/xml/ns/index.html
index e78f5dec..fef17d04 100644
--- a/content/xml/ns/index.html
+++ b/content/xml/ns/index.html
@@ -177,7 +177,7 @@ The canonical name for this directory is <code><a
href="https://logging.apache.o
That is, Log4j <code>2.24.0</code> release does not necessarily mean a new
<code>log4j-config-2.24.0.xsd</code>: the Log4j 2 runtime configuration API
might have been kept intact.</p>
</li>
<li>
-<p><strong>Users are recommended to use schemas with only major
versions</strong>; <code>log4j-config-2.xsd</code>,
<code>log4j-changelog-0.xsd</code>, etc.</p>
+<p><strong>Users are recommended to use schemas with only major
versions</strong>; <code>log4j-config-2.xsd</code>,
<code>log4j-config-3.xsd</code>, <code>log4j-changelog-0.xsd</code>, etc.</p>
</li>
</ol>
</div>
@@ -188,11 +188,11 @@ That is, Log4j <code>2.24.0</code> release does not
necessarily mean a new <code
</div>
</div>
<div class="sect1">
-<h2 id="log4j2">Log4j 2 schemas</h2>
+<h2 id="log4j">Log4j schemas</h2>
<div class="sectionbody">
<div class="paragraph">
-<p><a href="/log4j/2.x">Log4j 2</a> is a Java logging framework.
-Following schemas model the Log4j runtime configuration, i.e.,
<code>log4j2.xml</code>.</p>
+<p><a href="#/log4j">Log4j</a> is a Java logging framework.
+Following schemas model the Log4j runtime configuration, i.e.,
<code>log4j2.xml</code><sup class="footnote">[<a id="_footnoteref_1"
class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup>.</p>
</div>
<table class="tableblock frame-all grid-all stretch">
<colgroup>
@@ -216,8 +216,19 @@ Following schemas model the Log4j runtime configuration,
i.e., <code>log4j2.xml<
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">N/A</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a
href="log4j-config-2.xsd">log4j-config-2.xsd</a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Points to
the most recent XSD.
-<strong>Users are recommended to refer to this XSD in their XML
files.</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Points to
the most recent XSD of major version <code>2</code>.
+<strong>Log4j 2 users are recommended to refer to this XSD in their XML
files.</strong></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">2024-03-19</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a
href="log4j-config-3.0.0.xsd">log4j-config-3.0.0.xsd</a></p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">N/A</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">N/A</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a
href="log4j-config-3.xsd">log4j-config-3.xsd</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Points to
the most recent XSD of major version <code>3</code>.
+<strong>Log4j 3 users are recommended to refer to this XSD in their XML
files.</strong></p></td>
</tr>
</tbody>
</table>
@@ -315,6 +326,12 @@ It is designed for Apache Log4j, but can be used for any
Java project.</p>
</div>
</div>
</div>
+</div>
+<div id="footnotes">
+<hr>
+<div class="footnote" id="_footnotedef_1">
+<a href="#_footnoteref_1">1</a>. Both Log4j 2 and Log4j 3 use
<code>log4j2.xml</code> for configuration.
+</div>
</div>
</div>
</div>
diff --git a/content/xml/ns/log4j-config-3.0.0.xsd
b/content/xml/ns/log4j-config-3.0.0.xsd
new file mode 100644
index 00000000..8e37a26a
--- /dev/null
+++ b/content/xml/ns/log4j-config-3.0.0.xsd
@@ -0,0 +1,613 @@
+<?xml version="1.0" encoding="UTF-8"?><schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified"
targetNamespace="https://logging.apache.org/xml/ns"
version="3.0.0-SNAPSHOT"><element
type="log4j:org.apache.logging.log4j.core.config.Configuration"
name="Configuration"/><simpleType
name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction
base="string"><enumeration value="WAITING"></enumeration><enumeration value
[...]
+NOTE: The Log4j API supports custom levels, the following list contains only
the standard ones.</documentation></annotation><restriction
base="string"><enumeration value="OFF"><annotation><documentation>Special level
that disables logging.
+No events should be logged at this
level.</documentation></annotation></enumeration><enumeration
value="FATAL"><annotation><documentation>A fatal event that will prevent the
application from
continuing</documentation></annotation></enumeration><enumeration
value="ERROR"><annotation><documentation>An error in the application, possibly
recoverable</documentation></annotation></enumeration><enumeration
value="WARN"><annotation><documentation>An event that might possible lead to an
error</do [...]
+
+Wraps a
apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element
name="Async"
type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element
name="Console"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element
name="CountingNoOp"
type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element
name="Failover"
type="log4j:org.apache.logging.log4j.core.appender.FailoverAppender"/><element
nam [...]
+
+An Appender can contain a apiref:org.apache.logging.log4j.core.Layout[] if
applicable as well as an apiref:org.apache.logging.log4j.core.ErrorHandler[].
Typical Appender implementations coordinate with an implementation of
apiref:org.apache.logging.log4j.core.appender.AbstractManager[] to handle
external resources such as streams, connections, and other shared state.
+As Appenders are plugins, concrete implementations need to be annotated with
apiref:org.apache.logging.log4j.core.org.apache.logging.log4j.plugins.Plugin[]
and need to provide a static factory method annotated with
apiref:org.apache.logging.log4j.core.org.apache.logging.log4j.plugins.PluginFactory[].
+
+Most core plugins are written using a related Manager class that handle the
actual task of serializing a apiref:org.apache.logging.log4j.core.LogEvent[] to
some output location.
+For instance, many Appenders can take advantage of the
apiref:org.apache.logging.log4j.core.appender.OutputStreamManager[] class.
+
+It is recommended that Appenders don't do any heavy lifting since there can be
many instances of the class being used at any given time.
+When resources require locking (e.g., through
apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is
important to isolate synchronized code to prevent concurrency
issues.</documentation></annotation><choice><element name="Async"
type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element
name="Console"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element
name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.Coun
[...]
+
+It is highly recommended that applications make use of the Filters provided
with this implementation before creating their own.
+
+This interface supports "global" filters (i.e. - all events must pass through
them first), attached to specific loggers and associated with Appenders.
+It is recommended that, where possible, Filter implementations create a
generic filtering method that can be called from any of the filter
methods.</documentation></annotation><choice><element name="BurstFilter"
type="log4j:org.apache.logging.log4j.core.filter.BurstFilter"/><element
name="filters"
type="log4j:org.apache.logging.log4j.core.filter.CompositeFilter"/><element
name="DenyAllFilter"
type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element
name="DynamicThreshold [...]
+
+A layout typically encodes into either a apiref:java.lang.String[] or
`byte[]`. Since version 2.6, layouts implement
apiref:org.apache.logging.log4j.core.layout.Encoder[] to support direct
encoding of a log event into a
apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without
creating temporary intermediary objects.
+Since version 3.0.0, layouts no longer reference the legacy Java serialization
API and are limited to strings or
bytes.</documentation></annotation><choice><element name="HtmlLayout"
type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element
name="PatternLayout"
type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element
name="Rfc5424Layout"
type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element
name="SyslogLayout" type="log4j:org.apache.loggi [...]
+
+In Log4j, the main interface for handling the life cycle context of an object
is this one.
+An object first starts in the
apiref:org.apache.logging.log4j.core.State#INITIALIZED[] state by default to
indicate the class has been loaded.
+From here, calling the
apiref:org.apache.logging.log4j.core.LifeCycle#start()[] method will change
this state to apiref:org.apache.logging.log4j.core.State#STARTING[]. After
successfully being started, this state is changed to
apiref:org.apache.logging.log4j.core.State#STARTED[]. When the
apiref:org.apache.logging.log4j.core.LifeCycle#stop()[] is called, this goes
into the apiref:org.apache.logging.log4j.core.State#STOPPING[] state.
+After successfully being stopped, this goes into the
apiref:org.apache.logging.log4j.core.State#STOPPED[] state.
+In most circumstances, implementation classes should store their
apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an
apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[]
dependent on synchronization and concurrency
requirements.</documentation></annotation><choice><element name="Async"
type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element
name="Console" type="log4j:org.apache.logging.log4j.core.appender.Conso [...]
+
+Although Appenders do not have to extend this class, doing so will simplify
their implementation.</documentation></annotation><choice><element name="Async"
type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element
name="Console"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element
name="CountingNoOp"
type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element
name="Failover" type="log4j:org.apache.logging.log4j.core.append [...]
+
+The stream encoding is defined in the
layout.</documentation></annotation><choice><element name="Console"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element
name="File"
type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element
name="MemoryMappedFile"
type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element
name="RandomAccessFile"
type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element
[...]
+
+You can configure an AsyncAppender with one or more Appenders and an Appender
to append to if the queue is full.
+The AsyncAppender does not allow a filter to be specified on the Appender
references.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events passing through this
component</documentation></annotation></group><group
ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory"
minOccurs="0"></group><element name="AppenderRef"
type="log4j:org.apache.logging [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="blocking" type="boolean"></attribute><attribute name="bufferSize"
type="int"></attribute><attribute name="errorRef"
type="string"></attribute><attribute name="ignoreExceptions"
type="boolean"></attribute><attribute name="includeLocation"
type="boolean"></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
referenc [...]
+
+The default target is `System. out`.
+
+TODO Accessing `System. out` or `System. err` as a byte stream instead of a
writer bypasses the JVM's knowledge of the proper encoding.
+(RG) Encoding is handled within the Layout.
+Typically, a Layout will generate a String and then call getBytes which may
use a configured encoding or the system default.
+OTOH, a Writer cannot print byte
streams.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events passing through this
component</documentation></annotation></group><group
ref="log4j:org.apache.logging.log4j.core.Layout"
minOccurs="0"><annotation><documentation>Formats the log
events</documentation></annotation></group><element name="Property"
type="log4j:org.apa [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="bufferSize" type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whether to use a buffered
`OutputStream`
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute name="direct"
type="boolean"></attribute><attribute name="follow"
type="boolean"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate
logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:java.io.OutputStream#flush()[]. In the case of files, for example,
setting this attribute to `true`, guarantees that all bytes written are passed
to the operating system, but it *does not* guarantee that they are actually
written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute><attribute name="target"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender.Target"></attribute></complexType><simpleType
name="org.apache.logging.log4j.core.appender.ConsoleAppender.Target"><annotation><documentation>Enumeration
of [...]
+
+Hopefully it is obvious that the Appenders must be configured to not suppress
exceptions for the FailoverAppender to
work.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>A Filter
(optional).</documentation></annotation></group></sequence><attribute
name="ignoreExceptions" type="boolean"><annotation><documentation>Determines
whether to propagate logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>The name of the Appender
(required).</documentation></annotation></attribute><attribute name="primary"
type="string"><annotation><documentation>The name of the primary Appender
(required).</documentation></annotation></attribute><attribute
name="retryIntervalSeconds" type="int"><annotation><documentation>The retry
interval [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="advertise" type="boolean"></attribute><attribute name="advertiseUri"
type="string"></attribute><attribute name="append"
type="boolean"></attribute><attribute name="bufferSize"
type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whet [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute
name="createOnDemand" type="boolean"></attribute><attribute name="fileGroup"
type="string"></attribute><attribute name="fileName"
type="string"></attribute><attribute name="fileOwner"
type="string"></attribute><attribute name="filePermissions"
type="string"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagat [...]
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="locking"
type="boolean"></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.HangingAppender"><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group
ref="log4j:o [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element><element name="Ssl"
type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration"
minOccurs="0"></element></sequence><attribute name="connectTimeoutMillis"
type="int"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate
logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute name="method"
type="string"></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute><attribute
name="readTimeoutMillis" type="int"></attribute><attribute
name="verifyHostname" type="boolean"></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender. [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="advertise" type="boolean"></attribute><attribute name="advertiseURI"
type="string"></attribute><attribute name="append"
type="boolean"></attribute><attribute name="bufferSize"
type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whet [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute name="fileName"
type="string"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate
logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute><attribute
name="regionLength" type="int"></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.NullAppender"><annotation><documentation>An
Appender that ignores log events.
+
+Use for compatibility with version 1.2 and handy for composing a
`ScriptAppenderSelector`.</documentation></annotation><attribute name="name"
type="string"></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.RandomAccessFileAppender"><annotation><documentation>File
Appender.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events p [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="advertise" type="boolean"></attribute><attribute name="advertiseURI"
type="string"></attribute><attribute name="append"
type="boolean"></attribute><attribute name="bufferSize"
type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whet [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute name="fileName"
type="string"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate
logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.RollingFileAppender"><annotation><documentation>An
appender that writes to files and can roll over at
intervals.</documentation></annotation><sequence><group ref="log4j:org.apac
[...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="advertise" type="boolean"></attribute><attribute name="advertiseUri"
type="string"></attribute><attribute name="append"
type="boolean"></attribute><attribute name="bufferSize"
type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whet [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute
name="createOnDemand" type="boolean"></attribute><attribute name="fileGroup"
type="string"></attribute><attribute name="fileName"
type="string"></attribute><attribute name="fileOwner"
type="string"></attribute><attribute name="filePattern"
type="string"></attribute><attribute name="filePermissions"
type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><
[...]
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="locking"
type="boolean"></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"><annotation><documentation>An
appender that writes to random access files and can roll over [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element></sequence><attribute
name="advertise" type="boolean"></attribute><attribute name="advertiseURI"
type="string"></attribute><attribute name="append"
type="boolean"></attribute><attribute name="bufferSize"
type="int"><annotation><documentation>Size of the buffer in
bytes</documentation></annotation></attribute><attribute name="bufferedIo"
type="boolean"><annotation><documentation>Determines whet [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute name="fileGroup"
type="string"></attribute><attribute name="fileName"
type="string"></attribute><attribute name="fileOwner"
type="string"></attribute><attribute name="filePattern"
type="string"></attribute><attribute name="filePermissions"
type="string"></attribute><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate lo
[...]
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute
name="immediateFlush" type="boolean"><annotation><documentation>Flushes the
underlying `OutputStream` after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.core.appender.SocketAppender"><annotation><documentation>An
Appender that delivers events over socket connections.
+
+Supports both TCP and UDP.</documentation></annotation><choice><element
name="Syslog"
type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType
name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The
Syslog Appender.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events passing through [...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element><element name="LoggerFields"
type="log4j:org.apache.logging.log4j.core.layout.LoggerFields" minOccurs="0"
maxOccurs="unbounded"></element><element name="SocketOptions"
type="log4j:org.apache.logging.log4j.core.net.SocketOptions"
minOccurs="0"></element><element name="Ssl"
type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration"
minOccurs="0"></element></sequence><attribute name="adv [...]
+
+If set to `true` (default) the appender will buffer messages before sending
them.
+This attribute is ignored if `immediateFlush` is set to
`true`.</documentation></annotation></attribute><attribute
name="connectTimeoutMillis" type="int"></attribute><attribute
name="enterpriseNumber" type="string"></attribute><attribute name="eventPrefix"
type="string"></attribute><attribute name="exceptionPattern"
type="string"></attribute><attribute name="facility"
type="log4j:org.apache.logging.log4j.core.net.Facility"></attribute><attribute
name="format" type="string"></attribute><a [...]
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute name="immediateFail"
type="boolean"></attribute><attribute name="immediateFlush"
type="boolean"><annotation><documentation>Flushes the underlying `OutputStream`
after each event
+
+The effects of this setting depend on the output stream implementation (see
apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the
case of files, for example, setting this attribute to `true`, guarantees that
all bytes written are passed to the operating system, but it *does not*
guarantee that they are actually written to a physical device.
+
+Setting this to `true` automatically disables
buffering.</documentation></annotation></attribute><attribute name="includeMdc"
type="boolean"></attribute><attribute name="mdcExcludes"
type="string"></attribute><attribute name="mdcId"
type="string"></attribute><attribute name="mdcIncludes"
type="string"></attribute><attribute name="mdcPrefix"
type="string"></attribute><attribute name="mdcRequired"
type="string"></attribute><attribute name="messageId"
type="string"></attribute><attribute na [...]
+
+All database appenders should inherit from this base
appender.</documentation></annotation><choice><element name="NoSql"
type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element
name="JDBC"
type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/></choice></group><complexType
name="org.apache.logging.log4j.core.appender.db.ColumnMapping"><annotation><documentation>A
configuration element for specifying a database column name
mapping.</documentation></ann [...]
+
+Not applicable if
apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setType(Class)[]
is a apiref:org.apache.logging.log4j.util.ReadOnlyStringMap[],
apiref:org.apache.logging.log4j.spi.ThreadContextMap[], or
apiref:org.apache.logging.log4j.spi.ThreadContextStack[].</documentation></annotation></group></sequence><attribute
name="literal" type="string"><annotation><documentation>Literal value to use
for populating a column.
+
+This is generally useful for functions, stored procedures, etc.
+No escaping will be done on this
value.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Column
name.</documentation></annotation></attribute><attribute name="parameter"
type="string"><annotation><documentation>Parameter value to use for populating
a column, MUST contain a single parameter marker '?'.
+
+This is generally useful for functions, stored procedures, etc.
+No escaping will be done on this
value.</documentation></annotation></attribute><attribute name="pattern"
type="string"><annotation><documentation>Pattern to use as a
apiref:org.apache.logging.log4j.core.layout.PatternLayout[].
+
+Convenient shorthand for
apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setLayout(StringLayout)[]
with a PatternLayout.</documentation></annotation></attribute><attribute
name="source" type="string"><annotation><documentation>Source name.
+
+Useful when combined with a
apiref:org.apache.logging.log4j.core.appender.db.org.apache.logging.log4j.message.MapMessage[]
depending on the
appender.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"><annotation><documentation>This
Appender writes logging events to a NoSQL database using a configured NoSQL
provider.
+
+It requires implementations of
apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlObject[],
apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlConnection[], and
apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] to "know"
how to write events to the chosen NoSQL database.
+
+For examples on how to write your own NoSQL provider, see the simple source
code for the MongoDB providers.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events passing through this
component</documentation></annotation></group><group
ref="log4j:org.apache.logging.log4j.core.Layout"
minOccurs="0"><annotation><documentation>Formats the log events</documentation
[...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element><element name="KeyValuePair"
type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0"
maxOccurs="unbounded"></element></sequence><attribute name="bufferSize"
type="int"><annotation><documentation>Sets the buffer
size.</documentation></annotation></attribute><attribute
name="ignoreExceptions" type="boolean"><annotation><documentation>Determines
whether to propagate logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.core.appender.nosql.NoSqlProvider"><choice><element
name="MongoDb4"
type="log4j:org.apache.logging.log4j.mongodb4.MongoDb4Provider"/></choice></group><complexType
name="org.apache.logging.lo [...]
+
+The DefaultRolloverStrategy is a combination of a time-based policy and a
fixed-window policy.
+When the file name pattern contains a date format then the rollover time
interval will be used to calculate the time to use in the file pattern.
+When the file pattern contains an integer replacement token one of the
counting techniques will be used.
+
+When the ascending attribute is set to true (the default) then the counter
will be incremented and the current log file will be renamed to include the
counter value.
+If the counter hits the maximum value then the oldest file, which will have
the smallest counter, will be deleted, all other files will be renamed to have
their counter decremented and then the current file will be renamed to have the
maximum counter value.
+Note that with this counting strategy specifying a large maximum value may
entirely avoid renaming files.
+
+When the ascending attribute is false, then the "normal" fixed-window strategy
will be used.
+
+Let _max_ and _min_ represent the values of respectively the *MaxIndex* and
*MinIndex* options.
+Let "foo.
+log" be the value of the *ActiveFile* option and "foo.
+%i.log" the value of *FileNamePattern*. Then, when rolling over, the file
`foo. _max_.log` will be deleted, the file `foo. _max-1_.log` will be renamed
as `foo. _max_.log`, the file `foo. _max-2_.log` renamed as `foo. _max-1_.log`,
and so on, the file `foo. _min+1_.log` renamed as `foo. _min+2_.log`. Lastly,
the active file `foo. log` will be renamed as `foo. _min_.log` and a new active
file name `foo. log` will be created.
+
+Given that this rollover algorithm requires as many file renaming operations
as the window size, large window sizes are
discouraged.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action"
minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Defines custom
actions.</documentation></annotation></group></sequence><attribute
name="compressionLevel" type="string"><annotation><documentation>Defines
compression level.</doc [...]
+
+Files will be renamed files according to an algorithm as described below.
+
+The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy
to determine the file name based on the file pattern, however the
DirectWriteRolloverStrategy writes directly to a file and does not rename it
during rollover, except if it is compressed, in which case it will add the
appropriate file extension.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action"
minOccurs="0" maxOccurs="unbounded"><annotation><d [...]
+
+Such conditions include time of day, file size, an external event, the log
request or a combination thereof.</documentation></annotation><choice><element
name="Policies"
type="log4j:org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"/><element
name="CronTriggeringPolicy"
type="log4j:org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"/><element
name="NoOpTriggeringPolicy"
type="log4j:org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy
[...]
+Default is false.</documentation></annotation></attribute><attribute
name="maxDepth" type="int"><annotation><documentation>The maxDepth parameter is
the maximum number of levels of directories to visit.
+A value of 0 means that only the starting file is visited, unless denied by
the security manager.
+A value of MAX_VALUE may be used to indicate that all levels should be
visited.</documentation></annotation></attribute><attribute name="testMode"
type="boolean"><annotation><documentation>if true, files are not deleted but
instead a message is printed to the status logger at INFO level.
+Users can use this to do a dry run to test if their configuration works as
expected.
+Default is
false.</documentation></annotation></attribute></complexType><simpleType
name="org.apache.logging.log4j.core.appender.rolling.action.Duration"><annotation><documentation>Simplified
implementation of the ISO-8601 Durations standard.
+
+The supported format is `PnDTnHnMnS`, with 'P' and 'T' optional.
+Days are considered to be exactly 24 hours.
+
+Similarly to the `java. time. Duration` class, this class does not support
year or month sections in the format.
+This implementation does not support fractions or negative
values.</documentation></annotation><restriction
base="string"></restriction></simpleType><complexType
name="org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"><annotation><documentation>PathCondition
that accepts paths after some count threshold is exceeded during the file tree
walk.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondit
[...]
+
+Corresponds to logical "AND".</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition"
minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The component
filters.</documentation></annotation></group></sequence></complexType><complexType
name="org.apache.logging.log4j.core.appender.rolling.action.IfAny"><annotation><documentation>Composite
`PathCondition` that accepts objects that are accepted by _any_ component [...]
+
+Corresponds to logical "OR".</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition"
minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The component
conditions.</documentation></annotation></group></sequence></complexType><complexType
name="org.apache.logging.log4j.core.appender.rolling.action.IfFileName"><annotation><documentation>PathCondition
that accepts files for deletion if their relative path matches [...]
+
+If both a regular expression and a glob pattern are specified the glob pattern
is used and the regular expression is ignored.
+
+The regular expression is a pattern as defined by the
apiref:java.util.regex.Pattern[] class.
+A glob is a simplified pattern expression described in
apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition"
minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested
conditions to evaluate if this condition accepts a
path</documentation></annotation></group></sequence><attribute name="glob"
type="string"><annotation><documentation>the baseDir-relat [...]
+
+Allow to define file permissions, user and group for log files on POSIX
supported OS.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition"
minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Define path
conditions to filter files in
apiref:org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction#getBasePath()[].</documentation></annotation></group></sequence><attribute
name="basePath" [...]
+
+Example:
+
+rw-rw-rw
+
+r--r--r--</documentation></annotation></attribute><attribute
name="followLinks" type="boolean"><annotation><documentation>True to allow
synonyms links during search of eligible
files.</documentation></annotation></attribute><attribute name="maxDepth"
type="int"><annotation><documentation>Define max folder depth to search for
eligible files to apply POSIX attribute
view.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.appender.routing [...]
+
+Routing is achieved by specifying a pattern on the Routing appender
declaration.
+The pattern should contain one or more substitution patterns of the form
"$${[key:]token}". The pattern will be resolved each time the Appender is
called using the built in StrSubstitutor and the StrLookup plugin that matches
the specified key.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter"
minOccurs="0"><annotation><documentation>If not `null`, applies the filter to
all events passing through this component</documentation></annotation></gro
[...]
+
+The meaning of these properties depends on the
component.</documentation></annotation></element><group
ref="log4j:org.apache.logging.log4j.core.script.Script"
minOccurs="0"></group></sequence><attribute name="ignoreExceptions"
type="boolean"><annotation><documentation>Determines whether to propagate
logging exceptions
+
+If set to `true` (default), exceptions that occur during logging will appear
in the status logger.
+
+If set to `false`, exceptions will be propagates to the
caller.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the appender to use in
references</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.async.ArrayBlockingQueueFactory"><annotation><documentation>Factory
for creating instances of
apiref:java.util.concurrent.ArrayBlockingQueue[].</documentation></annotation></compl
[...]
+The possible values are:
+
+* `out` for using standard out (default)
+* `err` for using standard error
+* a string that is interpreted in order as URI, URL or the path to a local file
+
+If the provided value is invalid, then the default destination of standard out
will be used.</documentation></annotation></attribute><attribute name="name"
type="string"><annotation><documentation>Name of the
configuration</documentation></annotation></attribute><attribute
name="monitorInterval" type="int"><annotation><documentation>Number of seconds
between polls for configuration
changes</documentation></annotation></attribute><attribute name="schema"
type="string"><annotation><documen [...]
+Possible values are `enable` and `disable`.
+The shutdown hook is enabled by default, unless Log4j detects the presence of
the Servlet API.</documentation></annotation></attribute><attribute
name="shutdownTimeout" type="int"><annotation><documentation>Timeout in
milliseconds of the logger context shut
down</documentation></annotation></attribute><attribute name="status"
type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the
level of the status logger</documentation></annotation></attribute><attribute
name=" [...]
+
+ConfigurationFactory allows the configuration implementation to be dynamically
chosen in 1 of 3 ways:
+
+. A system property named "log4j.
+configurationFactory" can be set with the name of the ConfigurationFactory to
be used.
+. A apiref:org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory[]
binding for ConfigurationFactory may be registered.
+. A ConfigurationFactory implementation can be added to the classpath and
configured as a plugin in the
apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#NAMESPACE[ConfigurationFactory]
category.
+The apiref:org.apache.logging.log4j.core.config.Order[] annotation should be
used to configure the factory to be the first one inspected.
+See apiref:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory[]
for an example.
+
+If the ConfigurationFactory that was added returns null on a call to
getConfiguration then any other ConfigurationFactories found as plugins will be
called in their respective order.
+DefaultConfiguration is always called last if no configuration has been
returned.</documentation></annotation><choice><element
name="JavaPropsConfigurationFactory"
type="log4j:org.apache.logging.log4j.config.properties.JavaPropsConfigurationFactory"/><element
name="YamlConfigurationFactory"
type="log4j:org.apache.logging.log4j.config.yaml.YamlConfigurationFactory"/><element
name="JsonConfigurationFactory"
type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><e
[...]
+
+The supported formats are:
+
+* 0x0123456789ABCDEF
+* Base64:ABase64String
+* String using apiref:java.nio.charset.Charset#defaultCharset()[] [TODO Should
this be UTF-8 instead?
+]</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharArrayConverter"><annotation><documentation>Converts
a apiref:java.lang.String[] into a
`char[]`.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharsetConverter"><annotation><documentation>Converts
a apiref:java.lang.String[] into a apiref:java.nio.charset.Charset[]. [...]
+
+Returns `null` for invalid level
names.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.PathConverter"><annotation><documentation>Converts
a apiref:java.lang.String[] into a
apiref:java.nio.file.Path[].</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.PatternConverter"><annotation><documentation>Converts
a apiref:java.lan [...]
+
+Filters can be either context wide or attached to an appender.
+A filter may choose to support being called only from the context or only from
an appender in which case it will only implement the required method(s). The
rest will default to return
apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[].
+
+Garbage-free note: the methods with unrolled varargs by default delegate to
the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger,
Level, Marker, String, Object...)[filter method with vararg parameters].
Subclasses that want to be garbage-free should override these methods to
implement the appropriate filtering without creating a vararg
array.</documentation></annotation><choice><element name="BurstFilter"
type="log4j:org.apache.logging.log4j.core.filter.BurstFilte [...]
+
+Use this filter when you want to control the maximum burst of log statements
that can be sent to an appender.
+The filter is configured in the log4j configuration file.
+For example, the following configuration limits the number of INFO level (as
well as DEBUG and TRACE) log statements that can be sent to the console to a
burst of 100 with an average rate of 16 per second.
+WARN, ERROR and FATAL messages would continue to be delivered.
+`<Console name="console"> <PatternLayout pattern="%-5p %d{dd-MMM-yyyy
HH:mm:ss} %x %t %m%n"/> <Filters> <BurstFilter level="INFO"
rate="16" maxBurst="100"/> </Filters>
</Console>`</documentation></annotation><attribute name="level"
type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the
logging level to use.</documentation></annotation></attribute><attribute
name="maxBurst" type="long"><annotation><documentation>Sets the maximum [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute><attribute name="rate"
type="float"><annotation><documentation>Sets the average number of events per
second to
allow.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.CompositeFilter"><annotation><documentation>Composes
and invokes one or more filters.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"
maxOccurs="unbounded"><a [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.DynamicThresholdFilter"><annotation><documentation>Compares
against a log level that is associated with a context value.
+
+By default the context is the apiref:org.apache.logging.log4j.ThreadContext[],
but users may
apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure]
a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which
obtains context data from some other
source.</documentation></annotation><sequence><element name="KeyValuePair"
type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0"
maxOccurs="unbounded"></element></sequence><attribute name [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.core.filter.Filterable"><annotation><documentation>Interface
implemented by Classes that allow filtering to occur.
+
+Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a
life cycle.</documentation></annotation><choice><element name="Async"
type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element
name="Console"
type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element
name="CountingNoOp"
type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element
name="Failover" type="log4j:org.apache.logging.log4j.core.appender.Failo [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.LevelRangeFilter"><annotation><documentation>This
filter returns the
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] result
if the level of the apiref:org.apache.logging.log4j.core.LogEvent[] is in the
range of the configured
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and
apiref:org.apache.logging.log4j.core.filter.LevelRa [...]
+
+The default values for
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] are set
to apiref:org.apache.logging.log4j.Level#OFF[] and
apiref:org.apache.logging.log4j.Level#ALL[], respectively.
+The default values for
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] and
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] are
set to apiref:org.apache.logging.log4j.core.filter.Result#NEUTRAL[] and
apiref:org.apache.logging.log4j.core.filter.Result#DENY[], respectively.
+
+The levels get compared by their associated integral values;
apiref:org.apache.logging.log4j.Level#OFF[] has an integral value of 0,
apiref:org.apache.logging.log4j.Level#FATAL[] 100,
apiref:org.apache.logging.log4j.Level#ERROR[] 200, and so on.
+For example, if the filter is configured with
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] set to
apiref:org.apache.logging.log4j.Level#INFO[], the filter will return
apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[]
result for apiref:org.apache.logging.log4j.core.LogEvent[]s of level with
higher integral values; apiref:org.apache.logging.log4j.Level#DEBUG[],
apiref:org.apache.logging.log4j.Level#TRACE[], etc.</documentation></annotation
[...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute><attribute name="pollInterval"
type="long"><annotation><documentation>Set the frequency in seconds that
changes to the list a ThreadContext valudes should be
checked.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.NoMarkerFilter"><annotation><documentation>This
filter returns the onMatch result if there is no marker in the
LogEvent.</documentation></annotation><attribute name="onM [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.RegexFilter"><annotation><documentation>This
filter returns the onMatch result if the message matches the regular
expression.
+
+The "useRawMsg" attribute can be used to indicate whether the regular
expression should be applied to the result of calling Message.
+getMessageFormat (true) or Message.
+getFormattedMessage() (false). The default is
false.</documentation></annotation><sequence></sequence><attribute
name="onMatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The
action to perform when a match
occurs.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The
action to perform when a mismatch
occurs.</documentation></annotation></attribut [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute><attribute name="text"
type="string"></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.StructuredDataFilter"><annotation><documentation>Filter
based on data in a
StructuredDataMessage.</documentation></annotation><sequence><element
name="KeyValuePair"
type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0"
maxOccurs="unbounded"><annotation><documentation>Key and value
pairs.</documentation></ [...]
+If not "or" the operation will be an
"and".</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.ThreadContextMapFilter"><annotation><documentation>Filter
based on a value in the Thread Context Map
(MDC).</documentation></annotation><sequence><element name="KeyValuePair"
type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0"
maxOccurs="unbounded"></element></sequence><attribute name="onMatch"
type="log4j:org.apa [...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute><attribute name="operator"
type="string"></attribute></complexType><complexType
name="org.apache.logging.log4j.core.filter.ThresholdFilter"><annotation><documentation>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.
+
+For example, if the ThresholdFilter is configured with Level ERROR and the
LogEvent contains Level DEBUG then the onMismatch value will be returned since
ERROR events are more specific than DEBUG.
+The default Level is ERROR.</documentation></annotation><attribute
name="level"
type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log
Level.</documentation></annotation></attribute><attribute name="onMatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The
action to take on a match.</documentation></annotation></attribute><attribute
name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><docume
[...]
+
+Defaults to Result.
+NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets
the Result to return when the filter does not match.
+
+The default is Result.
+DENY.</documentation></annotation></attribute><attribute name="start"
type="string"></attribute></complexType><group
name="org.apache.logging.log4j.core.layout.AbstractLayout"><annotation><documentation>Abstract
base class for Layouts.</documentation></annotation><choice><element
name="HtmlLayout"
type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element
name="PatternLayout"
type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element
name="Rfc5424Layout" type=" [...]
+
+Since 2.4.1, this class has custom logic to convert ISO-8859-1 or US-ASCII
Strings to byte[] arrays to improve performance: all characters are simply cast
to bytes.</documentation></annotation><choice><element name="HtmlLayout"
type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element
name="PatternLayout"
type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element
name="Rfc5424Layout"
type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element nam
[...]
+
+Appenders using this layout should have their encoding set to UTF-8 or UTF-16,
otherwise events containing non ASCII characters could result in corrupted log
files.</documentation></annotation><attribute name="contentType"
type="string"></attribute><attribute name="datePattern"
type="string"></attribute><attribute name="fontName"
type="string"></attribute><attribute name="fontSize"
type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout.FontSize"></attribute><attribute
name="location [...]
+
+The goal of this class is to
apiref:org.apache.logging.log4j.core.Layout#toByteArray[format] a
apiref:org.apache.logging.log4j.core.LogEvent[] and return the results.
+The format of the result depends on the _conversion pattern_.
+
+The conversion pattern is closely related to the conversion pattern of the
printf function in C. A conversion pattern is composed of literal text and
format control expressions called _conversion specifiers_.
+
+See the Log4j Manual for details on the supported pattern
converters.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector"
minOccurs="0"></group><element name="replace"
type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacement"
minOccurs="0"></element></sequence><attribute name="alwaysWriteExceptions"
type="boolean"></attribute><attribute name="disableAnsi"
type="boolean"></attribute><attribute name="footer" type="string"> [...]
+Defaults to "true:.</documentation></annotation></attribute><attribute
name="mdcExcludes" type="string"><annotation><documentation>A comma separated
list of MDC keys that should be excluded from the
LogEvent.</documentation></annotation></attribute><attribute name="mdcId"
type="string"><annotation><documentation>The id to use for the MDC Structured
Data Element.</documentation></annotation></attribute><attribute
name="mdcIncludes" type="string"><annotation><documentation>A comma separate
[...]
+The default is false.</documentation></annotation></attribute><attribute
name="newLineEscape" type="string"><annotation><documentation>String that
should be used to replace newlines within the message
text.</documentation></annotation></attribute><attribute
name="useTlsMessageFormat" type="boolean"><annotation><documentation>If true
the message will be formatted according to RFC
5425.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.core.l [...]
+
+Handles saving the Configuration.</documentation></annotation><choice><element
name="log4j"
type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group
name="org.apache.logging.log4j.core.lookup.AbstractLookup"><annotation><documentation>A
default lookup for others to
extend.</documentation></annotation><choice><element name="env"
type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element
name="event" type="log4j:org.apache.logging.log4j.core [...]
+
+By default this is the apiref:org.apache.logging.log4j.ThreadContext[], but
users may
apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure]
a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which
obtains context data from some other
source.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.lookup.DateLookup"><annotation><documentation>Formats
the current date or the date in the LogEvent.
+
+The "key" is used as the format String, following the java.
+text.
+SimpleDateFormat date and time pattern
strings.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.lookup.EnvironmentLookup"><annotation><documentation>Looks
up keys from environment
variables.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.lookup.EventLookup"><annotation><documentation>Looks
up values from the log
event.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4 [...]
+
+The passed in "key" should be the value of another
lookup.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.lookup.MainMapLookup"><annotation><documentation>A
map-based lookup for main arguments.
+
+See
apiref:org.apache.logging.log4j.core.lookup.MainMapLookup#setMainArguments(String[])[].</documentation></annotation></complexType><group
name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A
map-based lookup.</documentation></annotation><choice><element
name="jvmrunargs"
type="log4j:org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup"/><element
name="main"
type="log4j:org.apache.logging.log4j.core.lookup.MainMapLookup"/></choice></group><c
[...]
+
+This class represents the simplest form of a string to string map.
+It has a benefit over a map in that it can create the result on demand based
on the key.
+
+For example, it would be possible to implement a lookup that used the key as a
primary key, and looked up the value on demand from the
database</documentation></annotation><choice><element name="ctx"
type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element
name="date"
type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element
name="env"
type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element
name="event" type="log4j:org.apache.logging [...]
+
+The passed in "key" should be the value of another
lookup.</documentation></annotation></complexType><group
name="org.apache.logging.log4j.core.net.Advertiser"><choice><element
name="default"
type="log4j:org.apache.logging.log4j.core.config.DefaultAdvertiser"/><element
name="memory"
type="log4j:org.apache.logging.log4j.core.config.InMemoryAdvertiser"/><element
name="MulticastDns"
type="log4j:org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"/></choice></group><simpleType
name="org [...]
+
+[cols="1,1"]
+|===
+
+h| Numerical Code
+h| Facility
+
+h| Facility
+| 0
+| kernel messages
+
+| 1
+| user-level messages
+
+| 2
+| mail system
+
+| 3
+| system daemons
+
+| 4
+| security/authorization messages
+
+| 5
+| messages generated internally by syslogd
+
+| 6
+| line printer subsystem
+
+| 7
+| network news subsystem
+
+| 8
+| UUCP subsystem
+
+| 9
+| clock daemon
+
+| 10
+| security/authorization messages
+
+| 11
+| FTP daemon
+
+| 12
+| NTP subsystem
+
+| 13
+| log audit
+
+| 14
+| log alert
+
+| 15
+| clock daemon (note 2)
+
+| 16
+| local use 0 (local0)
+
+| 17
+| local use 1 (local1)
+
+| 18
+| local use 2 (local2)
+
+| 19
+| local use 3 (local3)
+
+| 20
+| local use 4 (local4)
+
+| 21
+| local use 5 (local5)
+
+| 22
+| local use 6 (local6)
+
+| 23
+| local use 7 (local7)
+
+|===</documentation></annotation><restriction base="string"><enumeration
value="KERN"><annotation><documentation>Kernel
messages.</documentation></annotation></enumeration><enumeration
value="USER"><annotation><documentation>User level
messages.</documentation></annotation></enumeration><enumeration
value="MAIL"><annotation><documentation>Mail
system.</documentation></annotation></enumeration><enumeration
value="DAEMON"><annotation><documentation>System
daemons.</documentation></annotati [...]
+
+The length of property names and values must be 255 bytes or less.
+Entries with names or values larger than 255 bytes will be removed prior to
advertisement.</documentation></annotation></complexType><simpleType
name="org.apache.logging.log4j.core.net.Protocol"><annotation><documentation>Enumerates
the supported protocols.</documentation></annotation><restriction
base="string"><enumeration value="TCP"><annotation><documentation>TCP
Protocol.</documentation></annotation></enumeration><enumeration
value="SSL"><annotation><documentation>SSL Protocol.</docu [...]
+
+* `IPTOS_LOWCOST (0x02)`
+* `IPTOS_RELIABILITY (0x04)`
+* `IPTOS_THROUGHPUT (0x08)`
+* `IPTOS_LOWDELAY (0x10)`
+*</documentation></annotation><restriction base="string"><enumeration
value="IPTOS_NORMAL"></enumeration><enumeration
value="IPTOS_LOWCOST"></enumeration><enumeration
value="IPTOS_LOWDELAY"></enumeration><enumeration
value="IPTOS_RELIABILITY"></enumeration><enumeration
value="IPTOS_THROUGHPUT"></enumeration></restriction></simpleType><complexType
name="org.apache.logging.log4j.core.net.SocketAddress"><annotation><documentation>Plugin
to hold a hostname and port (socket address).</documen [...]
+
+The apiref:java.net.Socket#setPerformancePreferences(int,int,int)[] API may
not be implemented by a JRE.</documentation></annotation><attribute
name="bandwidth" type="int"></attribute><attribute name="connectionTime"
type="int"></attribute><attribute name="latency"
type="int"></attribute></complexType><group
name="org.apache.logging.log4j.core.net.ssl.AbstractKeyStoreConfiguration"><annotation><documentation>Configuration
of the KeyStore</documentation></annotation><choice><element name= [...]
+See the Java Secure Socket Extension Reference Guide for information about
these names.</documentation></annotation></attribute><attribute name="location"
type="string"><annotation><documentation>The location of the KeyStore, a file
path, URL or resource.</documentation></annotation></attribute><attribute
name="password" type="string"><annotation><documentation>The password to access
the KeyStore.</documentation></annotation></attribute><attribute
name="passwordEnvironmentVariable" type= [...]
+oracle.
+com/javase/7/docs/technotes/guides/security/StandardNames.
+html#SSLContext</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.core.net.ssl.StoreConfiguration"><choice><element
name="KeyStore"
type="log4j:org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"/><element
name="TrustStore"
type="log4j:org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"/></choice></group><complexType
name="org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"><annotation><documentation>Configuration
o [...]
+See the Java Secure Socket Extension Reference Guide for information these
names.</documentation></annotation></attribute><attribute name="type"
type="string"><annotation><documentation>The KeyStore type, null defaults to
`"JKS"`.</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.core.pattern.AbstractPatternConverter"><annotation><documentation>AbstractPatternConverter
is an abstract class that provides the formatting functionality that derived c
[...]
+
+Conversion specifiers in a conversion patterns are parsed to individual
PatternConverters.
+Each of which is responsible for converting an object in a converter specific
manner.</documentation></annotation><choice><element name="black"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"/><element
name="blue"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"/><element
name="cyan"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"/><element
name="green" type="log4j:org.apache.logging. [...]
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation><choice><element name="black"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"/><element
name="blue"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"/><element
name="cyan"
type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"/><element
name="green" type="log4j:org.apache.logging.log4j.core.pattern.Abst [...]
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"><annotation><documentation>Blue
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"><annotation><documentation>Cyan
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Green"><annotation><documentation>Green
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"><annotation><documentation>Magenta
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"><annotation><documentation>Red
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"><annotation><documentation>White
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"><annotation><documentation>Yellow
style pattern converter.
+
+Adds ANSI color styling to the result of the enclosed
pattern.</documentation></annotation></complexType><group
name="org.apache.logging.log4j.core.pattern.AnsiConverter"><annotation><documentation>Marks
classes that implement ANSI escape code
conversions.</documentation></annotation><choice><element name="highlight"
type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element
name="style"
type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/></choice></gr
[...]
+
+Supported formats include HTML (default) and
JSON.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"><annotation><documentation>Formats
the EndOfBatch.</documentation></annotation></complexType><group
name="org.apache.logging.log4j.core.pattern.EqualsBaseReplacementConverter"><annotation><documentation>Equals
pattern converter.</documentation></annotation><choice><element
name="equalsIgnoreCase" type="log4j:org. [...]
+
+The extended stack trace will also include the location of where the class was
loaded from and the version of the jar if
available.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.FileDatePatternConverter"><annotation><documentation>Formats
a date by delegating to
apiref:org.apache.logging.log4j.core.pattern.DatePatternConverter[].
+
+The default date pattern for a %d specifier in a file name is different than
the %d pattern in pattern
layout.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"><annotation><documentation>Returns
the event's line location information in a
StringBuilder.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"><annotation><documentation>For
[...]
+
+Formats the result of a pattern using a color appropriate for the Level in the
LogEvent.
+
+For example:
+
+[source,java]
+----
+%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}
+----
+
+You can define custom colors for each Level:
+
+[source,java]
+----
+%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{FATAL=red,
ERROR=red, WARN=yellow, INFO=green, DEBUG=cyan,
+TRACE=black}
+----
+
+You can use a predefined style:
+
+[source,java]
+----
+%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT}
+----
+
+The available predefined styles are:
+
+* `Default`
+* `Log4j` - The same as `Default`
+* `Logback`
+
+You can use whitespace around the comma and equal sign.
+The names in values MUST come from the
apiref:org.apache.logging.log4j.core.pattern.AnsiEscape[] enum, case is
normalized to upper-case internally.
+
+To disable ANSI output unconditionally, specify an additional option
`disableAnsi=true`, or to disable ANSI output if no console is detected,
specify option `noConsoleNoAnsi=true` e.g..
+
+[source,java]
+----
+%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT,
noConsoleNoAnsi=true}
+----</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.IntegerPatternConverter"><annotation><documentation>Formats
an integer.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.LevelPatternConverter"><annotation><documentation>Returns
the event's level in a
StringBuilder.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.LineLocationPatternCon [...]
+util.
+Hashtable.
+toString(), or to output the value of a specific key within the
Map.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.MarkerPatternConverter"><annotation><documentation>Returns
events' full marker string in a
StringBuilder.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"><annotation><documentation>Appends
an event's maker name to a StringBuilder.</documen [...]
+
+Limit contained text to a maximum length.
+On invalid length the default value 100 is used (and an error message is
logged). If max length is greater than 20, an abbreviated text will get
ellipsis ("...") appended.
+Example usage (for email subject): `"%maxLen{[AppName, ${hostName},
${web:contextPath}] %p: %c{1} - %m%notEmpty{
=>%ex{short}}}{160}"`</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.MdcPatternConverter"><annotation><documentation>Able
to handle the contents of the LogEvent's MDC and either output the entire
contents of the properties in a similar format to the java.
+util.
+Hashtable.
+toString(), or to output the value of a specific key within the property
bundle when this pattern converter has the option
set.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.MessagePatternConverter"><annotation><documentation>Returns
the event's rendered message in a
StringBuilder.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"><annotation><documentatio
[...]
+
+The extended stack trace will also include the location of where the class was
loaded from and the version of the jar if
available.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"><annotation><documentation>Formats
the event sequence
number.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.StyleConverter"><annotation><documentation>Style
pattern converter.
+
+Adds ANSI color styling to the result of the enclosed pattern.
+
+To disable ANSI output unconditionally, specify an additional option
`disableAnsi=true`, or to disable ANSI output if no console is detected,
specify option
`noConsoleNoAnsi=true`.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"><annotation><documentation>Formats
the event thread ID.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"><an
[...]
+
+Causes a reconfiguration when a file
changes.</documentation></annotation><choice><element name="http"
type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><complexType
name="org.apache.logging.log4j.core.util.KeyValuePair"><annotation><documentation>Key/Value
pair configuration item.</documentation></annotation></complexType><group
name="org.apache.logging.log4j.core.util.SecretKeyProvider"><choice><element
name="FlumeKeyProvider" type="log4j:org.apache.loggin [...]
+
+Depends on Apache Commons CSV
1.2.</documentation></annotation><choice><element name="CsvLogEventLayout"
type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element
name="CsvParameterLayout"
type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/></choice></group><complexType
name="org.apache.logging.log4j.csv.layout.CsvLogEventLayout"><annotation><documentation>A
Comma-Separated Value (CSV) layout to log events.
+
+Depends on Apache Commons CSV 1.2.</documentation></annotation><attribute
name="footer" type="string"></attribute><attribute name="format"
type="string"></attribute><attribute name="header"
type="string"></attribute><attribute name="nullString"
type="string"></attribute><attribute name="quoteMode"
type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute
name="recordSeparator" type="string"></attribute></complexType><complexType
name="org.apache.logging.log4j.csv.layout.CsvPar [...]
+
+The event message is currently ignored.
+
+Best used with:
+
+`logger. debug(new ObjectArrayMessage(1, 2, "Bob"));` Depends on Apache
Commons CSV 1.4.</documentation></annotation><attribute name="footer"
type="string"></attribute><attribute name="format"
type="string"></attribute><attribute name="header"
type="string"></attribute><attribute name="nullString"
type="string"></attribute><attribute name="quoteMode"
type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute
name="recordSeparator" type="string"></attribute></complexType><comple [...]
+
+The connections are served from an Apache Commons DBCP pooling
driver.</documentation></annotation><sequence><element name="Property"
type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0"
maxOccurs="unbounded"></element><element name="PoolableConnectionFactory"
type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolableConnectionFactoryConfig"
minOccurs="0"></element></sequence><attribute name="connectionString"
type="string"></attribute><attribute name="driverClassNa [...]
+
+This plugin does not provide any connection pooling unless it is available
through the connection string and driver itself.
+This handy to get you off the ground without having to deal with
JNDI.</documentation></annotation><choice><element name="PoolingDriver"
type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element
name="DriverManager"
type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/></choice></group><complexType
name="org.apache.logging.log4j.jdbc.appender.ColumnConfig"><annotation><documentation>A
configuration element used to configure [...]
+
+Mutually exclusive with `pattern! =null` and
`eventTimestamp=true`.</documentation></annotation></attribute><attribute
name="name" type="string"><annotation><documentation>The name of the database
column as it exists within the database
table.</documentation></annotation></attribute><attribute name="pattern"
type="string"><annotation><documentation>The
apiref:org.apache.logging.log4j.core.layout.PatternLayout[] pattern to insert
in this column.
+
+Mutually exclusive with `literal! =null` and
`eventTimestamp=true`</documentation></annotation></attribute></complexType><group
name="org.apache.logging.log4j.jdbc.appender.ConnectionSource"><annotation><documentation>Configuration
element for apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[].
+
+If you want to use the
apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[] but none of the
provided connection sources meet your needs, you can simply create your own
connection source.</documentation></annotation><choice><element
name="PoolingDriver"
type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element
name="DataSource"
type="log4j:org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"/><element
name="DriverManager" type="log4 [...]
+Must start with java:/comp/env or
environment-equivalent.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"><annotation><documentation>A
apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] that uses a
JDBC connection string, a user name, and a password to call
apiref:java.sql.DriverManager#getConnection(String,String,String)[].
+
+This plugin does not provide any connection pooling unless it is available
through the connection string and driver itself.
+This handy to get you off the ground without having to deal with
JNDI.</documentation></annotation><sequence><element name="Property"
type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0"
maxOccurs="unbounded"></element></sequence><attribute name="connectionString"
type="string"></attribute><attribute name="driverClassName"
type="string"></attribute><attribute name="password"
type="string"></attribute><attribute name="userName"
type="string"></attribute></complexType>< [...]
+If this method returns a apiref:java.sql.Connection[], it should return a new
connection every
call.</documentation></annotation></attribute></complexType><complexType
name="org.apache.logging.log4j.jdbc.appender.JdbcAppender"><annotation><documentation>This
Appender writes logging events to a relational database using standard JDBC
mechanisms.
+
+It takes a list of
apiref:org.apache.logging.log4j.jdbc.appender.ColumnConfig[]s and/or
apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping[]s with which it
determines how to save the event data into the appropriate columns in the table.
+ColumnMapping is new as of Log4j 2.8 and supports
apiref:org.apache.logging.log4j.plugins.convert.TypeConverter[type conversion]
and persistence using
apiref:java.sql.PreparedStatement#setObject(int,Object)[]. A
apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] plugin
instance instructs the appender (and
apiref:org.apache.logging.log4j.jdbc.appender.JdbcDatabaseManager[]) how to
connect to the database.
+This appender can be reconfigured at run
time.</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group
ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element
name="ColumnMapping"
type="log4j:org.apache.logging.log4j.core.appender.db.ColumnMapping"
minOccurs="0" maxOccurs="unbounded"></element><element name="Property"
type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0"
maxOccur [...]
+
+Supported keys are: accountName, containerId, containerName, clusterName,
host, hostIp, labels, labels.
+app, labels.
+podTemplateHash, masterUrl, namespaceId, namespaceName, podId, podIp, podName,
imageId, imageName.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"><sequence><element
name="EventTemplateAdditionalField"
type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField"
minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute
name="eventDelimiter" type="string"> [...]
+
+The specified script may be a
apiref:org.apache.logging.log4j.core.script.Script[], a
apiref:org.apache.logging.log4j.script.appender.rolling.action.ScriptFile[] or
a
apiref:org.apache.logging.log4j.script.ScriptRef[].</documentation></annotation><sequence><group
ref="log4j:org.apache.logging.log4j.core.script.Script"
minOccurs="0"><annotation><documentation>The script to run.
+This may be a apiref:org.apache.logging.log4j.core.script.Script[], a
apiref:org.apache.logging.log4j.script.appender.rolling.action.ScriptFile[] or
a apiref:org.apache.logging.log4j.script.ScriptRef[]. The script must return a
`List<PathWithAttributes>`. When the script is executed, it is provided
the following bindings:
+
+* basePath - the directory from where the
apiref:org.apache.logging.log4j.script.appender.rolling.action.DeleteAction[Delete]
action started scanning for files to delete.
+Can be used to relativize the paths in the pathList.
+* pathList - a `java. util. List` containing
apiref:org.apache.logging.log4j.script.appender.rolling.action.PathWithAttribute[]
objects.
+(The script is free to modify and return this list.
+)
+* substitutor - a
apiref:org.apache.logging.log4j.script.appender.rolling.action.StrSubstitutor[]
that can be used to look up variables embedded in the base dir or other
properties
+* statusLogger - the apiref:org.apache.logging.log4j.status.StatusLogger[]
that can be used to log events during script execution
+* any properties declared in the
configuration</documentation></annotation></group></sequence></complexType><complexType
name="org.apache.logging.log4j.script.config.arbiter.ScriptArbiter"><annotation><documentation>Condition
that evaluates a
script.</documentation></annotation></complexType><complexType
name="org.apache.logging.log4j.script.filter.ScriptFilter"><annotation><documentation>Returns
the onMatch result if the script returns True and returns the onMismatch value
otherwise.</d [...]
+The script must return a boolean value.
+Either script or scriptFile must be
provided.</documentation></annotation></group></sequence><attribute
name="onMatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The
action to take if a match
occurs.</documentation></annotation></attribute><attribute name="onMismatch"
type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The
action to take if no match
occurs.</documentation></annotation></attribute></complexType><comp [...]
+
+The returned value will be used as the "key" to choose between one of the
configured patterns.
+If no key is returned or there is no match the default pattern will be
used.</documentation></annotation><sequence><element name="PatternMatch"
type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0"
maxOccurs="unbounded"></element><group
ref="log4j:org.apache.logging.log4j.script.AbstractScript"
minOccurs="0"></group></sequence><attribute name="alwaysWriteExceptions"
type="boolean"></attribute><attribute name="defaultPattern"
type="string"></attribute><attribute nam [...]
\ No newline at end of file
diff --git a/content/xml/ns/log4j-config-3.xsd
b/content/xml/ns/log4j-config-3.xsd
new file mode 120000
index 00000000..05671ee8
--- /dev/null
+++ b/content/xml/ns/log4j-config-3.xsd
@@ -0,0 +1 @@
+log4j-config-3.0.0.xsd
\ No newline at end of file