Automatic Site Publish by Buildbot
diff --git a/content/feed.xml b/content/feed.xml
index db0c630..9fef6c2 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-04-30T13:26:28+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 _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.</subtitle><entry><title type="html">Celebrating Two Decades of Innovation with Apache Log4j</title><link href="/blog/2023/12/18/20-years-of-innovation.html" rel="alternate" type="text/html" title="Celebrating Two Decades of Innovation with Apache Log4j" /><published>2023-12-18T00:00:00+00:00</published><updated>2023-12-18T00:00:00+00:00</updated><id>/blog/2023/12/18/20-years-of-innovation</id><content type="html" xml:base="/blog/2023/12/18/20-years-of-innovation.html"><![CDATA[<h1 id="two-decades-of-apache-log4j-a-journey-of-resilience-and-innovation">Two Decades of Apache Log4j: A Journey of Resilience and Innovation</h1>
+<?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-05-07T19:22:29+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 _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.</subtitle><entry><title type="html">Celebrating Two Decades of Innovation with Apache Log4j</title><link href="/blog/2023/12/18/20-years-of-innovation.html" rel="alternate" type="text/html" title="Celebrating Two Decades of Innovation with Apache Log4j" /><published>2023-12-18T00:00:00+00:00</published><updated>2023-12-18T00:00:00+00:00</updated><id>/blog/2023/12/18/20-years-of-innovation</id><content type="html" xml:base="/blog/2023/12/18/20-years-of-innovation.html"><![CDATA[<h1 id="two-decades-of-apache-log4j-a-journey-of-resilience-and-innovation">Two Decades of Apache Log4j: A Journey of Resilience and Innovation</h1>
 
 <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/log4j-config-2.23.1.xsd b/content/xml/ns/log4j-config-2.23.1.xsd
index 2f5ca31..1262a25 100644
--- a/content/xml/ns/log4j-config-2.23.1.xsd
+++ b/content/xml/ns/log4j-config-2.23.1.xsd
@@ -1,4 +1,4 @@
-<?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="2.23.1"><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="BLOCKING"></enumeration><enumeration value="SPINNING"></enumeration></restriction></simpleType><simpleType name="com.datastax.driver.core.BatchStatement.Type"><restriction base="string"><enumeration value="LOGGED"></enumeration><enumeration value="UNLOGGED"></enumeration><enumeration value="COUNTER"></enumeration></restriction></simpleType><simpleType name="org.apache.commons.csv.QuoteMode"><restriction base="string"><enumeration value="ALL"></enumeration><enumeration value="ALL_NON_NULL"></enumeration><enumeration value="MINIMAL"></enumeration><enumeration value="NON_NUMERIC"></enumeration><enumeration value="NONE"></enumeration></restriction></simpleType><group name="org.apache.log4j.builders.AbstractBuilder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><group name="org.apache.log4j.builders.Builder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><complexType name="org.apache.log4j.builders.Log4j2ListAppenderBuilder"><annotation><documentation>Builder for the native Log4j 2.x list appender to be used in the tests.</documentation></annotation></complexType><group name="org.apache.log4j.builders.appender.AppenderBuilder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><simpleType name="org.apache.logging.log4j.Level"><annotation><documentation>Represents a logging level.
+<?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="2.24.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="BLOCKING"></enumeration><enumeration value="SPINNING"></enumeration></restriction></simpleType><simpleType name="com.datastax.driver.core.BatchStatement.Type"><restriction base="string"><enumeration value="LOGGED"></enumeration><enumeration value="UNLOGGED"></enumeration><enumeration value="COUNTER"></enumeration></restriction></simpleType><simpleType name="org.apache.commons.csv.QuoteMode"><restriction base="string"><enumeration value="ALL"></enumeration><enumeration value="ALL_NON_NULL"></enumeration><enumeration value="MINIMAL"></enumeration><enumeration value="NON_NUMERIC"></enumeration><enumeration value="NONE"></enumeration></restriction></simpleType><group name="org.apache.log4j.builders.AbstractBuilder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><group name="org.apache.log4j.builders.Builder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><complexType name="org.apache.log4j.builders.Log4j2ListAppenderBuilder"><annotation><documentation>Builder for the native Log4j 2.x list appender to be used in the tests.</documentation></annotation></complexType><group name="org.apache.log4j.builders.appender.AppenderBuilder"><choice><element name="org.apache.logging.log4j.test.appender.ListAppender" type="log4j:org.apache.log4j.builders.Log4j2ListAppenderBuilder"/></choice></group><simpleType name="org.apache.logging.log4j.Level"><annotation><documentation>Represents a logging level.
 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</documentation></annotation></enumeration><enumeration value="INFO"><annotation><documentation>An event for informational purposes</documentation></annotation></enumeration><enumeration value="DEBUG"><annotation><documentation>A general debugging event</documentation></annotation></enumeration><enumeration value="TRACE"><annotation><documentation>A fine-grained debug message, typically capturing the flow through the application</documentation></annotation></enumeration><enumeration value="ALL"><annotation><documentation>Special level indicating all events should be logged</documentation></annotation></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.cassandra.CassandraAppender"><annotation><documentation>Appender plugin that uses a Cassandra database.</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" maxOccurs="unbounded"><annotation><documentation>List of column mappings to convert a LogEvent into a database row.</documentation></annotation></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketAddress" type="log4j:org.apache.logging.log4j.core.net.SocketAddress" maxOccurs="unbounded"><annotation><documentation>List of Cassandra node contact points.
 
@@ -6,7 +6,7 @@
 
 Can be used with or without batch statements.</documentation></annotation></attribute><attribute name="clusterName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="keyspace" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="table" type="string"></attribute><attribute name="useClockForTimestampGenerator" type="boolean"><annotation><documentation>Override the default TimestampGenerator with one based on the configured apiref:org.apache.logging.log4j.core.util.Clock[].</documentation></annotation></attribute><attribute name="useTls" type="boolean"></attribute><attribute name="username" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.AbstractLifeCycle"><annotation><documentation>A life cycle to be extended.
 
-Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.Appender"><annotation><documentation>Appends apiref:org.apache.logging.log4j.core.LogEvent[]s.
+Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.Appender"><annotation><documentation>Appends apiref:org.apache.logging.log4j.core.LogEvent[]s.
 
 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.config.plugins.Plugin[] and need to provide a static factory method annotated with apiref:org.apache.logging.log4j.core.config.plugins.PluginFactory[].
@@ -15,12 +15,12 @@
 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="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.Filter"><annotation><documentation>Interface that must be implemented to allow custom event filtering.
+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="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.Filter"><annotation><documentation>Interface that must be implemented to allow custom event filtering.
 
 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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/></choice></group><simpleType name="org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The result that can returned from a filter method call.</documentation></annotation><restriction base="string"><enumeration value="ACCEPT"><annotation><documentation>The event will be processed without further filtering based on the log Level.</documentation></annotation></enumeration><enumeration value="NEUTRAL"><annotation><documentation>No decision could be made, further filtering should occur.</documentation></annotation></enumeration><enumeration value="DENY"><annotation><documentation>The event should not be processed.</documentation></annotation></enumeration></restriction></simpleType><group name="org.apache.logging.log4j.core.Layout"><annotation><documentation>Lays out a apiref:org.apache.logging.log4j.core.LogEvent[] in different formats.
+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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/></choice></group><simpleType name="org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The result that can returned from a filter method call.</documentation></annotation><restriction base="string"><enumeration value="ACCEPT"><annotation><documentation>The event will be processed without further filtering based on the log Level.</documentation></annotation></enumeration><enumeration value="NEUTRAL"><annotation><documentation>No decision could be made, further filtering should occur.</documentation></annotation></enumeration><enumeration value="DENY"><annotation><documentation>The event should not be processed.</documentation></annotation></enumeration></restriction></simpleType><group name="org.apache.logging.log4j.core.Layout"><annotation><documentation>Lays out a apiref:org.apache.logging.log4j.core.LogEvent[] in different formats.
 
 The formats are:
 
@@ -35,13 +35,13 @@
 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="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.LifeCycle2"><annotation><documentation>Extends the LifeCycle interface.
+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="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.LifeCycle2"><annotation><documentation>Extends the LifeCycle interface.
 
-This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.StringLayout"><annotation><documentation>Instantiates the apiref:org.apache.logging.log4j.core.Layout[] type for String-based layouts.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLayout"/><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><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.logging.log4j.core.layout.SyslogLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/></choice></group><complexType name="org.apache.logging.log4j.core.TestPatternConverters.TestFormatPatternConverter"></complexType><complexType name="org.apache.logging.log4j.core.TestPatternConverters.TestParametersPatternConverter"></complexType><group name="org.apache.logging.log4j.core.appender.AbstractAppender"><annotation><documentation>Abstract base class for Appenders.
+This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="DataSource" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolingDriverConnectionSource"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><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="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.StringLayout"><annotation><documentation>Instantiates the apiref:org.apache.logging.log4j.core.Layout[] type for String-based layouts.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLayout"/><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><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.logging.log4j.core.layout.SyslogLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/></choice></group><group name="org.apache.logging.log4j.core.appender.AbstractAppender"><annotation><documentation>Abstract base class for Appenders.
 
-Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender"><annotation><documentation>Appends log events as bytes to a byte output stream.
+Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender"><annotation><documentation>Appends log events as bytes to a byte output stream.
 
-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="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><group name="org.apache.logging.log4j.core.appender.AbstractWriterAppender"><annotation><documentation>Appends log events as strings to a writer.</documentation></annotation><choice><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.AppenderSet"><annotation><documentation>A deferred plugin for appenders.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.appender.AsyncAppender"><annotation><documentation>Appends to one or more Appenders asynchronously.
+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="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><group name="org.apache.logging.log4j.core.appender.AbstractWriterAppender"><annotation><documentation>Appends log events as strings to a writer.</documentation></annotation><choice><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.AppenderSet"><annotation><documentation>A deferred plugin for appenders.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.appender.AsyncAppender"><annotation><documentation>Appends to one or more Appenders asynchronously.
 
 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"></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="shutdownTimeout" type="long"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.ConsoleAppender"><annotation><documentation>Appends log events to `System. out` or `System. err` using a layout specified by the user.
@@ -53,7 +53,7 @@
 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"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attribute name="direct" type="boolean"></attribute><attribute name="follow" type="boolean"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="name" type="string"></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 console destinations.</documentation></annotation><restriction base="string"><enumeration value="SYSTEM_OUT"><annotation><documentation>Standard output.</documentation></annotation></enumeration><enumeration value="SYSTEM_ERR"><annotation><documentation>Standard error output.</documentation></annotation></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.appender.CountingNoOpAppender"><annotation><documentation>No-Operation Appender that counts events.</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.FailoverAppender"><annotation><documentation>The FailoverAppender will capture exceptions in an Appender and then route the event to a different appender.
 
-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="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise they are propagated 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="string"><annotation><documentation>The retry interval in seconds.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.FailoversPlugin"><annotation><documentation>The array of failover Appenders.</documentation></annotation><sequence><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The references to return.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.FileAppender"><annotation><documentation>File Appender.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="bufferedIo" type="boolean"></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"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="locking" type="boolean"></attribute><attribute name="name" type="string"></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:org.apache.logging.log4j.core.Layout" minOccurs="0"></group></sequence><attribute name="delay" type="long"></attribute><attribute name="name" type="string"></attribute><attribute name="shutdownDelay" type="long"></attribute><attribute name="startupDelay" type="long"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.HttpAppender"><annotation><documentation>Sends log events over HTTP.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="method" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="readTimeoutMillis" type="int"></attribute><attribute name="verifyHostname" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"><annotation><documentation>Memory Mapped File Appender.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attribute name="fileName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="name" type="string"></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.
+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="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise they are propagated 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="string"><annotation><documentation>The retry interval in seconds.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.FailoversPlugin"><annotation><documentation>The array of failover Appenders.</documentation></annotation><sequence><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The references to return.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.FileAppender"><annotation><documentation>File Appender.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="bufferedIo" type="boolean"></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"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="locking" type="boolean"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.HttpAppender"><annotation><documentation>Sends log events over HTTP.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="method" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="readTimeoutMillis" type="int"></attribute><attribute name="verifyHostname" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"><annotation><documentation>Memory Mapped File Appender.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attribute name="fileName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="name" type="string"></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 apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.OutputStreamAppender"><annotation><documentation>Appends log events to a given output stream using a layout.
 
@@ -75,9 +75,11 @@
 
 Disabled by default.</documentation></annotation></attribute><attribute name="smtpHost" type="string"><annotation><documentation>Host name of SMTP server to send messages through.</documentation></annotation></attribute><attribute name="smtpPassword" type="string"><annotation><documentation>Password to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="smtpPort" type="int"><annotation><documentation>Port number of SMTP server to send messages through.</documentation></annotation></attribute><attribute name="smtpProtocol" type="string"><annotation><documentation>Transport protocol to use for SMTP such as "smtp" or "smtps".
 
-Defaults to "smtp".</documentation></annotation></attribute><attribute name="smtpUsername" type="string"><annotation><documentation>Username to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="subject" type="string"><annotation><documentation>Subject template for the email messages.</documentation></annotation></attribute><attribute name="to" type="string"><annotation><documentation>Comma-separated list of recipient email addresses.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.SocketAppender"><annotation><documentation>An Appender that delivers events over socket connections.
+Defaults to "smtp".</documentation></annotation></attribute><attribute name="smtpUsername" type="string"><annotation><documentation>Username to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="subject" type="string"><annotation><documentation>Subject template for the email messages.</documentation></annotation></attribute><attribute name="to" type="string"><annotation><documentation>Comma-separated list of recipient email addresses.</documentation></annotation></attribute></complexType><complexType 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"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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="advertise" type="boolean"></attribute><attribute name="appName" type="string"></attribute><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></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><attribute name="host" type="string"></attribute><attribute name="id" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFail" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></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 name="name" type="string"></attribute><attribute name="newLine" type="boolean"></attribute><attribute name="newLineEscape" type="string"></attribute><attribute name="port" type="int"></attribute><attribute name="protocol" type="log4j:org.apache.logging.log4j.core.net.Protocol"></attribute><attribute name="reconnectDelayMillis" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.WriterAppender"><annotation><documentation>Appends log events to a apiref:java.io.Writer[].</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender"><annotation><documentation>An abstract Appender for writing events to a database of some type, be it relational or NoSQL.
+Supports both TCP and UDP.</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" 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="advertise" type="boolean"></attribute><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attribute name="connectTimeoutMillis" type="int"></attribute><attribute name="host" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFail" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="port" type="int"></attribute><attribute name="protocol" type="log4j:org.apache.logging.log4j.core.net.Protocol"></attribute><attribute name="reconnectDelayMillis" type="int"></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="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><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"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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="advertise" type="boolean"></attribute><attribute name="appName" type="string"></attribute><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></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><attribute name="host" type="string"></attribute><attribute name="id" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFail" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"></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 name="name" type="string"></attribute><attribute name="newLine" type="boolean"></attribute><attribute name="newLineEscape" type="string"></attribute><attribute name="port" type="int"></attribute><attribute name="protocol" type="log4j:org.apache.logging.log4j.core.net.Protocol"></attribute><attribute name="reconnectDelayMillis" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.WriterAppender"><annotation><documentation>Appends log events to a apiref:java.io.Writer[].</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender"><annotation><documentation>An abstract Appender for writing events to a database of some type, be it relational or NoSQL.
 
 All database appenders should inherit from this base appender.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/></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></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.StringLayout" minOccurs="0"><annotation><documentation>Layout of value to write to database (before type conversion).
 
@@ -122,7 +124,7 @@
 
 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 and CouchDB providers.</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><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.nosql.NoSqlProvider"><choice><element name="CouchDB" type="log4j:org.apache.logging.log4j.couchdb.CouchDbProvider"/><element name="MongoDb3" type="log4j:org.apache.logging.log4j.mongodb3.MongoDbProvider"/><element name="MongoDb4" type="log4j:org.apache.logging.log4j.mongodb4.MongoDb4Provider"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rewrite.LoggerNameLevelRewritePolicy"><annotation><documentation>Rewrites log event levels for a given logger name.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The levels to rewrite, the key is the source level, the value the target level.</documentation></annotation></element></sequence><attribute name="logger" type="string"><annotation><documentation>The logger name prefix for events to rewrite; all event logger names that start with this string will be rewritten.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.MapRewritePolicy"><annotation><documentation>This policy modifies events by replacing or possibly adding keys and values to the MapMessage.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>key/value pairs for the new Map keys and values.</documentation></annotation></element></sequence><attribute name="mode" type="string"><annotation><documentation>The string representation of the Mode.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.PropertiesRewritePolicy"><annotation><documentation>This policy modifies events by replacing or possibly adding keys and values to the MapMessage.</documentation></annotation><sequence><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>key/value pairs for the new keys and values.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"><annotation><documentation>This Appender allows the logging event to be manipulated before it is processed by other Appenders.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter to filter events.</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rewrite.RewritePolicy" minOccurs="0"><annotation><documentation>The policy to use to modify the event.</documentation></annotation></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Appender names to call.</documentation></annotation></element></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the Appender.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rewrite.RewritePolicy"><annotation><documentation>Interface to be implemented by components that support modifications to the LogEvent.</documentation></annotation><choice><element name="LoggerNameLevelRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.LoggerNameLevelRewritePolicy"/><element name="MapRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.MapRewritePolicy"/><element name="PropertiesRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.PropertiesRewritePolicy"/><element name="TestRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.TestRewritePolicy"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rewrite.TestRewritePolicy"></complexType><group name="org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy"><choice><element name="DefaultRolloverStrategy" type="log4j:org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy"/><element name="DirectWriteRolloverStrategy" type="log4j:org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy"/></choice></group><group name="org.apache.logging.log4j.core.appender.rolling.AbstractTriggeringPolicy"><annotation><documentation>Abstract convenience class for triggering policies that extend apiref:org.apache.logging.log4j.core.AbstractLifeCycle[] and implement apiref:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy[].</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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"><annotation><documentation>Triggering policy that wraps other triggering policies.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The triggering policies.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"><annotation><documentation>Rolls a file over based on a cron schedule.</documentation></annotation><attribute name="evaluateOnStartup" type="string"><annotation><documentation>check if the file should be rolled over immediately.</documentation></annotation></attribute><attribute name="schedule" type="string"><annotation><documentation>the cron expression.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy"><annotation><documentation>When rolling over, `DefaultRolloverStrategy` renames files according to an algorithm as described below.
+For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB and CouchDB providers.</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><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></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"></attribute><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.nosql.NoSqlProvider"><choice><element name="CouchDB" type="log4j:org.apache.logging.log4j.couchdb.CouchDbProvider"/><element name="MongoDb3" type="log4j:org.apache.logging.log4j.mongodb3.MongoDbProvider"/><element name="MongoDb4" type="log4j:org.apache.logging.log4j.mongodb4.MongoDb4Provider"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rewrite.LoggerNameLevelRewritePolicy"><annotation><documentation>Rewrites log event levels for a given logger name.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The levels to rewrite, the key is the source level, the value the target level.</documentation></annotation></element></sequence><attribute name="logger" type="string"><annotation><documentation>The logger name prefix for events to rewrite; all event logger names that start with this string will be rewritten.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.MapRewritePolicy"><annotation><documentation>This policy modifies events by replacing or possibly adding keys and values to the MapMessage.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>key/value pairs for the new Map keys and values.</documentation></annotation></element></sequence><attribute name="mode" type="string"><annotation><documentation>The string representation of the Mode.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.PropertiesRewritePolicy"><annotation><documentation>This policy modifies events by replacing or possibly adding keys and values to the MapMessage.</documentation></annotation><sequence><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>key/value pairs for the new keys and values.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"><annotation><documentation>This Appender allows the logging event to be manipulated before it is processed by other Appenders.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter to filter events.</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rewrite.RewritePolicy" minOccurs="0"><annotation><documentation>The policy to use to modify the event.</documentation></annotation></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Appender names to call.</documentation></annotation></element></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the Appender.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rewrite.RewritePolicy"><annotation><documentation>Interface to be implemented by components that support modifications to the LogEvent.</documentation></annotation><choice><element name="LoggerNameLevelRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.LoggerNameLevelRewritePolicy"/><element name="MapRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.MapRewritePolicy"/><element name="PropertiesRewritePolicy" type="log4j:org.apache.logging.log4j.core.appender.rewrite.PropertiesRewritePolicy"/></choice></group><group name="org.apache.logging.log4j.core.appender.rolling.AbstractRolloverStrategy"><choice><element name="DefaultRolloverStrategy" type="log4j:org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy"/><element name="DirectWriteRolloverStrategy" type="log4j:org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy"/></choice></group><group name="org.apache.logging.log4j.core.appender.rolling.AbstractTriggeringPolicy"><annotation><documentation>Abstract convenience class for triggering policies that extend apiref:org.apache.logging.log4j.core.AbstractLifeCycle[] and implement apiref:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy[].</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"/><element name="OnStartupTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"/><element name="SizeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"/><element name="TimeBasedTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"><annotation><documentation>Triggering policy that wraps other triggering policies.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The triggering policies.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"><annotation><documentation>Rolls a file over based on a cron schedule.</documentation></annotation><attribute name="evaluateOnStartup" type="string"><annotation><documentation>check if the file should be rolled over immediately.</documentation></annotation></attribute><attribute name="schedule" type="string"><annotation><documentation>the cron expression.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy"><annotation><documentation>When rolling over, `DefaultRolloverStrategy` renames files according to an algorithm as described below.
 
 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.
@@ -198,7 +200,7 @@
 
 For best performance, use AsyncLoggerConfig with the RandomAccessFileAppender or RollingRandomAccessFileAppender, with immediateFlush=false.
 These appenders have built-in support for the batching mechanism used by the Disruptor library, and they will flush to disk at the end of each batch.
-This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"><annotation><documentation>An asynchronous root Logger.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="additivity" type="boolean"></attribute><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.AsyncWaitStrategyFactoryConfig"><annotation><documentation>This class allows users to configure the factory used to create an instance of the LMAX disruptor WaitStrategy used by Async Loggers in the log4j configuration.</documentation></annotation><attribute name="class" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.BlockingAppender"><annotation><documentation>Appender that can be halted and resumed, for testing queue-full scenarios.</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></sequence><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.async.BlockingQueueFactory"><annotation><documentation>Factory for creating instances of apiref:java.util.concurrent.BlockingQueue[].</documentation></annotation><choice><element name="ArrayBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.ArrayBlockingQueueFactory"/><element name="DisruptorBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.DisruptorBlockingQueueFactory"/><element name="JCToolsBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory"/><element name="LinkedTransferQueue" type="log4j:org.apache.logging.log4j.core.async.LinkedTransferQueueFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.async.DisruptorBlockingQueueFactory"><annotation><documentation>Factory for creating instances of apiref:com.conversantmedia.util.concurrent.DisruptorBlockingQueue[].</documentation></annotation><attribute name="SpinPolicy" type="log4j:com.conversantmedia.util.concurrent.SpinPolicy"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory"><annotation><documentation>Factory for creating instances of BlockingQueues backed by JCTools apiref:org.jctools.queues.MpscArrayQueue[].</documentation></annotation><attribute name="WaitStrategy" type="log4j:org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory.WaitStrategy"></attribute></complexType><simpleType name="org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory.WaitStrategy"><restriction base="string"><enumeration value="SPIN"></enumeration><enumeration value="YIELD"></enumeration><enumeration value="PARK"></enumeration><enumeration value="PROGRESSIVE"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.async.LinkedTransferQueueFactory"><annotation><documentation>Factory for creating instances of apiref:java.util.concurrent.LinkedTransferQueue[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.AppenderRef"><annotation><documentation>An Appender reference.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>The filter(s) to use.</documentation></annotation></group></sequence><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The Level to filter against.</documentation></annotation></attribute><attribute name="ref" type="string"><annotation><documentation>The name of the Appender.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.AppendersPlugin"><annotation><documentation>An Appender container.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Appender" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Appenders.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.Configuration"><annotation><documentation>A Log4j configuration contains many components of which two are required: `Appenders` and `Loggers`.</documentation></annotation><sequence><element name="properties" type="log4j:org.apache.logging.log4j.core.config.PropertiesPlugin" minOccurs="0"><annotation><documentation>Wrapper element for a list of properties</documentation></annotation></element><element name="appenders" type="log4j:org.apache.logging.log4j.core.config.AppendersPlugin"><annotation><documentation>Wrapper element for a list of appenders</documentation></annotation></element><element name="CustomLevels" type="log4j:org.apache.logging.log4j.core.config.CustomLevels" minOccurs="0"><annotation><documentation>Wrapper element for a list of custom levels</documentation></annotation></element><element name="loggers" type="log4j:org.apache.logging.log4j.core.config.LoggersPlugin" minOccurs="0"><annotation><documentation>Wrapper element for a list of logger configurations</documentation></annotation></element></sequence><attribute name="dest" type="string"><annotation><documentation>Specifies the destination for status logger events.
+This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"><annotation><documentation>An asynchronous root Logger.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="additivity" type="boolean"></attribute><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.AsyncWaitStrategyFactoryConfig"><annotation><documentation>This class allows users to configure the factory used to create an instance of the LMAX disruptor WaitStrategy used by Async Loggers in the log4j configuration.</documentation></annotation><attribute name="class" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.async.BlockingQueueFactory"><annotation><documentation>Factory for creating instances of apiref:java.util.concurrent.BlockingQueue[].</documentation></annotation><choice><element name="ArrayBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.ArrayBlockingQueueFactory"/><element name="DisruptorBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.DisruptorBlockingQueueFactory"/><element name="JCToolsBlockingQueue" type="log4j:org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory"/><element name="LinkedTransferQueue" type="log4j:org.apache.logging.log4j.core.async.LinkedTransferQueueFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.async.DisruptorBlockingQueueFactory"><annotation><documentation>Factory for creating instances of apiref:com.conversantmedia.util.concurrent.DisruptorBlockingQueue[].</documentation></annotation><attribute name="SpinPolicy" type="log4j:com.conversantmedia.util.concurrent.SpinPolicy"></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory"><annotation><documentation>Factory for creating instances of BlockingQueues backed by JCTools apiref:org.jctools.queues.MpscArrayQueue[].</documentation></annotation><attribute name="WaitStrategy" type="log4j:org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory.WaitStrategy"></attribute></complexType><simpleType name="org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory.WaitStrategy"><restriction base="string"><enumeration value="SPIN"></enumeration><enumeration value="YIELD"></enumeration><enumeration value="PARK"></enumeration><enumeration value="PROGRESSIVE"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.async.LinkedTransferQueueFactory"><annotation><documentation>Factory for creating instances of apiref:java.util.concurrent.LinkedTransferQueue[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.AppenderRef"><annotation><documentation>An Appender reference.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>The filter(s) to use.</documentation></annotation></group></sequence><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The Level to filter against.</documentation></annotation></attribute><attribute name="ref" type="string"><annotation><documentation>The name of the Appender.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.AppendersPlugin"><annotation><documentation>An Appender container.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Appender" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Appenders.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.Configuration"><annotation><documentation>A Log4j configuration contains many components of which two are required: `Appenders` and `Loggers`.</documentation></annotation><sequence><element name="properties" type="log4j:org.apache.logging.log4j.core.config.PropertiesPlugin" minOccurs="0"><annotation><documentation>Wrapper element for a list of properties</documentation></annotation></element><element name="appenders" type="log4j:org.apache.logging.log4j.core.config.AppendersPlugin"><annotation><documentation>Wrapper element for a list of appenders</documentation></annotation></element><element name="CustomLevels" type="log4j:org.apache.logging.log4j.core.config.CustomLevels" minOccurs="0"><annotation><documentation>Wrapper element for a list of custom levels</documentation></annotation></element><element name="loggers" type="log4j:org.apache.logging.log4j.core.config.LoggersPlugin" minOccurs="0"><annotation><documentation>Wrapper element for a list of logger configurations</documentation></annotation></element></sequence><attribute name="dest" type="string"><annotation><documentation>Specifies the destination for status logger events.
 The possible values are:
 
 * `out` for using standard out (default)
@@ -207,7 +209,7 @@
 
 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><documentation>The name of a classpath resource to use to validate the configuration</documentation></annotation></attribute><attribute name="shutdownHook" type="string"><annotation><documentation>Indicates if Log4j should automatically shut down when the JVM shuts down.
 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="strict" type="boolean"><annotation><documentation>If set to `true` the configuration file will be validated using an XML schema.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.config.ConfigurationAware"><annotation><documentation>Indicates that a class requests the current Configuration to be injected.</documentation></annotation><choice><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.config.ConfigurationFactory"><annotation><documentation>Factory class for parsed apiref:org.apache.logging.log4j.core.config.Configuration[] objects from a configuration file.
+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="strict" type="boolean"><annotation><documentation>If set to `true` the configuration file will be validated using an XML schema.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.config.ConfigurationAware"><annotation><documentation>Indicates that a class requests the current Configuration to be injected.</documentation></annotation><choice><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.config.ConfigurationFactory"><annotation><documentation>Factory class for parsed apiref:org.apache.logging.log4j.core.config.Configuration[] objects from a configuration file.
 
 ConfigurationFactory allows the configuration implementation to be dynamically chosen in 1 of 3 ways:
 
@@ -220,7 +222,7 @@
 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="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"/><element name="CustomConfigurationFactory" type="log4j:org.apache.logging.log4j.osgi.tests.CustomConfigurationFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.config.CustomLevelConfig"><annotation><documentation>Descriptor of a custom Level object that is created via configuration.</documentation></annotation><attribute name="intLevel" type="int"><annotation><documentation>the intLevel that determines where this level resides relative to the built-in levels</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>name of the custom level.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.CustomLevels"><annotation><documentation>Container for CustomLevelConfig objects.</documentation></annotation><sequence><element name="CustomLevel" type="log4j:org.apache.logging.log4j.core.config.CustomLevelConfig" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of CustomLevelConfigs.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.DefaultAdvertiser"><annotation><documentation>The default advertiser does not do anything.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.HttpWatcher"></complexType><complexType name="org.apache.logging.log4j.core.config.InMemoryAdvertiser"></complexType><group name="org.apache.logging.log4j.core.config.LoggerConfig"><annotation><documentation>Logger object that is created via configuration.</documentation></annotation><choice><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/></choice></group><complexType name="org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"><annotation><documentation>The root Logger.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="additivity" type="boolean"></attribute><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.config.LoggerContextAware"><choice><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><element name="spring" type="log4j:org.apache.logging.log4j.spring.boot.SpringLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.config.LoggersPlugin"><annotation><documentation>Container of Logger objects.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.config.LoggerConfig" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Loggers.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.PropertiesPlugin"><annotation><documentation>Handles properties defined in the configuration.</documentation></annotation><sequence><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Property elements.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.Property"><annotation><documentation>Represents a key/value pair in the configuration.</documentation></annotation><attribute name="name" type="string"><annotation><documentation>The key.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"><annotation><documentation>A dummy appender doing nothing but burning CPU cycles whilst randomly accessing the logger.</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></sequence><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.ScriptsPlugin"><annotation><documentation>A container of Scripts.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Scripts.</documentation></annotation></group></sequence></complexType><group name="org.apache.logging.log4j.core.config.arbiters.Arbiter"><annotation><documentation>Interface used to check for portions of the configuration that may be optionally included.</documentation></annotation><choice><element name="ClassArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.ClassArbiter"/><element name="DefaultArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.DefaultArbiter"/><element name="EnvironmentArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.EnvironmentArbiter"/><element name="ScriptArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.ScriptArbiter"/><element name="SystemPropertyArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.SystemPropertyArbiter"/><element name="SpringProfile" type="log4j:org.apache.logging.log4j.spring.boot.SpringProfileArbiter"/></choice></group><complexType name="org.apache.logging.log4j.core.config.arbiters.ClassArbiter"><annotation><documentation>Conditional that determines if the specified class is present.</documentation></annotation><attribute name="className" type="string"><annotation><documentation>Sets the Class name.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.DefaultArbiter"><annotation><documentation>Default Condition for a Select Condition.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.EnvironmentArbiter"><annotation><documentation>Condition that determines if the specified environment variable is set.</documentation></annotation><attribute name="propertyName" type="string"><annotation><documentation>Sets the Property Name.</documentation></annotation></attribute><attribute name="propertyValue" type="string"><annotation><documentation>Sets the Property Value.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.ScriptArbiter"><annotation><documentation>Condition that evaluates a script.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.SelectArbiter"><annotation><documentation>Class Description goes here.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.SystemPropertyArbiter"><annotation><documentation>Condition that determines if the specified property is set.</documentation></annotation><attribute name="propertyName" type="string"><annotation><documentation>Sets the Property Name.</documentation></annotation></attribute><attribute name="propertyValue" type="string"><annotation><documentation>Sets the Property Value.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory"><annotation><documentation>Provides methods to create ConfigurationBuilders.</documentation></annotation><choice><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"/><element name="CustomConfigurationFactory" type="log4j:org.apache.logging.log4j.osgi.tests.CustomConfigurationFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"></complexType><group name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverter"><annotation><documentation>Interface for doing automatic String conversion to a specific type.</documentation></annotation><choice><element name="BigDecimal" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigDecimalConverter"/><element name="BigInteger" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigIntegerConverter"/><element name="Boolean" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BooleanConverter"/><element name="ByteArray" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteArrayConverter"/><element name="Byte" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteConverter"/><element name="CharacterArray" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharArrayConverter"/><element name="Character" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharacterConverter"/><element name="Charset" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharsetConverter"/><element name="Class" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ClassConverter"/><element name="CronExpression" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CronExpressionConverter"/><element name="Double" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DoubleConverter"/><element name="Duration" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DurationConverter"/><element name="File" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FileConverter"/><element name="Float" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FloatConverter"/><element name="InetAddress" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.InetAddressConverter"/><element name="Integer" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.IntegerConverter"/><element name="Level" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LevelConverter"/><element name="Long" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"/><element name="Path" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"/><element name="Pattern" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PatternConverter"/><element name="SecurityProvider" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.SecurityProviderConverter"/><element name="Short" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ShortConverter"/><element name="String" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.StringConverter"/><element name="URI" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UriConverter"/><element name="URL" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UrlConverter"/><element name="UUID" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UuidConverter"/><element name="RecyclerFactoryConverter" type="log4j:org.apache.logging.log4j.layout.template.json.util.RecyclerFactoryConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigDecimalConverter"><annotation><documentation>Parses a apiref:java.lang.String[] into a apiref:java.math.BigDecimal[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigIntegerConverter"><annotation><documentation>Parses a apiref:java.lang.String[] into a apiref:java.math.BigInteger[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BooleanConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Boolean[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `byte[]`.
+DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.config.CustomLevelConfig"><annotation><documentation>Descriptor of a custom Level object that is created via configuration.</documentation></annotation><attribute name="intLevel" type="int"><annotation><documentation>the intLevel that determines where this level resides relative to the built-in levels</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>name of the custom level.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.CustomLevels"><annotation><documentation>Container for CustomLevelConfig objects.</documentation></annotation><sequence><element name="CustomLevel" type="log4j:org.apache.logging.log4j.core.config.CustomLevelConfig" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of CustomLevelConfigs.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.DefaultAdvertiser"><annotation><documentation>The default advertiser does not do anything.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.HttpWatcher"></complexType><complexType name="org.apache.logging.log4j.core.config.LoggerConfig"><annotation><documentation>Logger object that is created via configuration.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute><attribute name="name" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.config.LoggerConfig"><annotation><documentation>Logger object that is created via configuration.</documentation></annotation><choice><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/></choice></group><complexType name="org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"><annotation><documentation>The root Logger.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="additivity" type="boolean"></attribute><attribute name="includeLocation" type="string"></attribute><attribute name="level" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="levelAndRefs" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.config.LoggerContextAware"><choice><element name="spring" type="log4j:org.apache.logging.log4j.spring.boot.SpringLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.config.LoggersPlugin"><annotation><documentation>Container of Logger objects.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.config.LoggerConfig" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Loggers.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.PropertiesPlugin"><annotation><documentation>Handles properties defined in the configuration.</documentation></annotation><sequence><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Property elements.</documentation></annotation></element></sequence></complexType><complexType name="org.apache.logging.log4j.core.config.Property"><annotation><documentation>Represents a key/value pair in the configuration.</documentation></annotation><attribute name="name" type="string"><annotation><documentation>The key.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.ScriptsPlugin"><annotation><documentation>A container of Scripts.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.AbstractScript" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Scripts.</documentation></annotation></group></sequence></complexType><group name="org.apache.logging.log4j.core.config.arbiters.Arbiter"><annotation><documentation>Interface used to check for portions of the configuration that may be optionally included.</documentation></annotation><choice><element name="ClassArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.ClassArbiter"/><element name="DefaultArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.DefaultArbiter"/><element name="EnvironmentArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.EnvironmentArbiter"/><element name="ScriptArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.ScriptArbiter"/><element name="SystemPropertyArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.SystemPropertyArbiter"/><element name="SpringProfile" type="log4j:org.apache.logging.log4j.spring.boot.SpringProfileArbiter"/></choice></group><complexType name="org.apache.logging.log4j.core.config.arbiters.ClassArbiter"><annotation><documentation>Conditional that determines if the specified class is present.</documentation></annotation><attribute name="className" type="string"><annotation><documentation>Sets the Class name.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.DefaultArbiter"><annotation><documentation>Default Condition for a Select Condition.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.EnvironmentArbiter"><annotation><documentation>Condition that determines if the specified environment variable is set.</documentation></annotation><attribute name="propertyName" type="string"><annotation><documentation>Sets the Property Name.</documentation></annotation></attribute><attribute name="propertyValue" type="string"><annotation><documentation>Sets the Property Value.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.ScriptArbiter"><annotation><documentation>Condition that evaluates a script.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.SelectArbiter"><annotation><documentation>Class Description goes here.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.arbiters.SystemPropertyArbiter"><annotation><documentation>Condition that determines if the specified property is set.</documentation></annotation><attribute name="propertyName" type="string"><annotation><documentation>Sets the Property Name.</documentation></annotation></attribute><attribute name="propertyValue" type="string"><annotation><documentation>Sets the Property Value.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory"><annotation><documentation>Provides methods to create ConfigurationBuilders.</documentation></annotation><choice><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"/></choice></group><complexType name="org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"></complexType><group name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverter"><annotation><documentation>Interface for doing automatic String conversion to a specific type.</documentation></annotation><choice><element name="BigDecimal" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigDecimalConverter"/><element name="BigInteger" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigIntegerConverter"/><element name="Boolean" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BooleanConverter"/><element name="ByteArray" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteArrayConverter"/><element name="Byte" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteConverter"/><element name="CharacterArray" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharArrayConverter"/><element name="Character" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharacterConverter"/><element name="Charset" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharsetConverter"/><element name="Class" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ClassConverter"/><element name="CronExpression" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CronExpressionConverter"/><element name="Double" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DoubleConverter"/><element name="Duration" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DurationConverter"/><element name="File" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FileConverter"/><element name="Float" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FloatConverter"/><element name="InetAddress" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.InetAddressConverter"/><element name="Integer" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.IntegerConverter"/><element name="Level" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LevelConverter"/><element name="Long" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"/><element name="Path" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"/><element name="Pattern" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PatternConverter"/><element name="SecurityProvider" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.SecurityProviderConverter"/><element name="Short" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ShortConverter"/><element name="String" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.StringConverter"/><element name="URI" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UriConverter"/><element name="URL" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UrlConverter"/><element name="UUID" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UuidConverter"/><element name="RecyclerFactoryConverter" type="log4j:org.apache.logging.log4j.layout.template.json.util.RecyclerFactoryConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigDecimalConverter"><annotation><documentation>Parses a apiref:java.lang.String[] into a apiref:java.math.BigDecimal[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BigIntegerConverter"><annotation><documentation>Parses a apiref:java.lang.String[] into a apiref:java.math.BigInteger[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.BooleanConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Boolean[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `byte[]`.
 
 The supported formats are:
 
@@ -229,12 +231,12 @@
 * 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.TypeConverters.ByteConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.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.TypeConverters.CharacterConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Character[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharsetConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.nio.charset.Charset[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ClassConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Class[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CronExpressionConverter"></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DoubleConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Double[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.DurationConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:org.apache.logging.log4j.core.appender.rolling.action.Duration[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FileConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.io.File[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.FloatConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Float[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.InetAddressConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into an apiref:java.net.InetAddress[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.IntegerConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Integer[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LevelConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a Log4j apiref:org.apache.logging.log4j.Level[].
 
-Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.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.TypeConverters.PatternConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.util.regex.Pattern[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.SecurityProviderConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.security.Provider[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ShortConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Short[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.StringConverter"><annotation><documentation>Returns the given apiref:java.lang.String[], no conversion takes place.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UriConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.net.URI[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UrlConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.net.URL[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UuidConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.util.UUID[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.processor.FakePlugin"><annotation><documentation>Test plugin class for unit tests.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.processor.FakePlugin.Nested"></complexType><group name="org.apache.logging.log4j.core.config.plugins.validation.AbstractPluginWithGenericBuilder"><choice><element name="PluginWithGenericSubclassFoo1Builder" type="log4j:org.apache.logging.log4j.core.config.plugins.validation.PluginWithGenericSubclassFoo1Builder"/></choice></group><complexType name="org.apache.logging.log4j.core.config.plugins.validation.HostAndPort"><attribute name="host" type="string"></attribute><attribute name="port" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.validation.PluginWithGenericSubclassFoo1Builder"><attribute name="foo1" type="string"></attribute><attribute name="thing" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.validation.ValidatingPlugin"><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.validation.ValidatingPluginWithGenericBuilder"><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.validation.ValidatingPluginWithTypedBuilder"><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"><annotation><documentation>Creates a PropertiesConfiguration from a properties file.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"><annotation><documentation>Factory to construct an XmlConfiguration.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"></complexType><group name="org.apache.logging.log4j.core.filter.AbstractFilter"><annotation><documentation>Users should extend this class to implement filters.
+Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.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.TypeConverters.PatternConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.util.regex.Pattern[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.SecurityProviderConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.security.Provider[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ShortConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Short[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.StringConverter"><annotation><documentation>Returns the given apiref:java.lang.String[], no conversion takes place.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UriConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.net.URI[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UrlConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.net.URL[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.UuidConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.util.UUID[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"><annotation><documentation>Creates a PropertiesConfiguration from a properties file.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"><annotation><documentation>Factory to construct an XmlConfiguration.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory"></complexType><group name="org.apache.logging.log4j.core.filter.AbstractFilter"><annotation><documentation>Users should extend this class to implement filters.
 
 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.BurstFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/></choice></group><group name="org.apache.logging.log4j.core.filter.AbstractFilterable"><annotation><documentation>Enhances a Class by allowing it to contain Filters.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.BurstFilter"><annotation><documentation>The `BurstFilter` is a logging filter that regulates logging traffic.
+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.BurstFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.DynamicThresholdFilter"/><element name="LevelMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelMatchFilter"/><element name="LevelRangeFilter" type="log4j:org.apache.logging.log4j.core.filter.LevelRangeFilter"/><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="MarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.MarkerFilter"/><element name="MutableThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"/><element name="NoMarkerFilter" type="log4j:org.apache.logging.log4j.core.filter.NoMarkerFilter"/><element name="RegexFilter" type="log4j:org.apache.logging.log4j.core.filter.RegexFilter"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.core.filter.ScriptFilter"/><element name="StringMatchFilter" type="log4j:org.apache.logging.log4j.core.filter.StringMatchFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/><element name="ThresholdFilter" type="log4j:org.apache.logging.log4j.core.filter.ThresholdFilter"/><element name="TimeFilter" type="log4j:org.apache.logging.log4j.core.filter.TimeFilter"/></choice></group><group name="org.apache.logging.log4j.core.filter.AbstractFilterable"><annotation><documentation>Enhances a Class by allowing it to contain Filters.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.BurstFilter"><annotation><documentation>The `BurstFilter` is a logging filter that regulates logging traffic.
 
 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.
@@ -256,7 +258,7 @@
 
 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"><annotation><documentation>An array of value and Level pairs.</documentation></annotation></element></sequence><attribute name="defaultThreshold" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The default Level.</documentation></annotation></attribute><attribute name="key" type="string"><annotation><documentation>The name of the key to compare.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform if a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform if no match occurs.</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="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.LevelMatchFilter"><annotation><documentation>This filter returns the onMatch result if the logging level in the event matches the specified logging level exactly.</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="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter matches.
+Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.LevelMatchFilter"><annotation><documentation>This filter returns the onMatch result if the logging level in the event matches the specified logging level exactly.</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="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter matches.
 
 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.
@@ -268,7 +270,7 @@
 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><attribute name="maxLevel" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>the maximum level threshold</documentation></annotation></attribute><attribute name="minLevel" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>the minimum level threshold</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>the result to return on a match</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>the result to return on a mismatch</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.filter.MapFilter"><annotation><documentation>A Filter that operates on a Map.</documentation></annotation><choice><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.MarkerFilter"><annotation><documentation>This filter returns the onMatch result if the marker in the LogEvent is the same as or has the configured marker as a parent.</documentation></annotation><attribute name="marker" type="string"><annotation><documentation>The Marker name to match.</documentation></annotation></attribute><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><complexType name="org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"><annotation><documentation>Filter based on a value in the Thread Context Map (MDC).</documentation></annotation><attribute name="configLocation" type="string"><annotation><documentation>Sets the configuration to use.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter matches.
+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><attribute name="maxLevel" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>the maximum level threshold</documentation></annotation></attribute><attribute name="minLevel" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>the minimum level threshold</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>the result to return on a match</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>the result to return on a mismatch</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.MapFilter"><annotation><documentation>A Filter that operates on a Map.</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.apache.logging.log4j.core.Filter.Result"></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"></attribute><attribute name="operator" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.filter.MapFilter"><annotation><documentation>A Filter that operates on a Map.</documentation></annotation><choice><element name="MapFilter" type="log4j:org.apache.logging.log4j.core.filter.MapFilter"/><element name="StructuredDataFilter" type="log4j:org.apache.logging.log4j.core.filter.StructuredDataFilter"/><element name="ThreadContextMapFilter" type="log4j:org.apache.logging.log4j.core.filter.ThreadContextMapFilter"/></choice></group><complexType name="org.apache.logging.log4j.core.filter.MarkerFilter"><annotation><documentation>This filter returns the onMatch result if the marker in the LogEvent is the same as or has the configured marker as a parent.</documentation></annotation><attribute name="marker" type="string"><annotation><documentation>The Marker name to match.</documentation></annotation></attribute><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><complexType name="org.apache.logging.log4j.core.filter.MutableThreadContextMapFilter"><annotation><documentation>Filter based on a value in the Thread Context Map (MDC).</documentation></annotation><attribute name="configLocation" type="string"><annotation><documentation>Sets the configuration to use.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter matches.
 
 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.
@@ -296,7 +298,7 @@
 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.apache.logging.log4j.core.Filter.Result"></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"></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><documentation>The action to take on a mismatch.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.TimeFilter"><annotation><documentation>Filters events that fall within a specified time period in each day.</documentation></annotation><attribute name="end" type="string"><annotation><documentation>The end time.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Action to perform if the time matches.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Action to perform if the action does not match.</documentation></annotation></attribute><attribute name="start" type="string"><annotation><documentation>The start time.</documentation></annotation></attribute><attribute name="timezone" type="string"><annotation><documentation>timezone.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.impl.LocationAware"><annotation><documentation>Classes that use location information should implement this interface.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Hanging" type="log4j:org.apache.logging.log4j.core.appender.HangingAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="Blocking" type="log4j:org.apache.logging.log4j.core.async.BlockingAppender"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLayout"/><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="LevelPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.LevelPatternSelector"/><element name="MarkerPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.MarkerPatternSelector"/><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="ScriptPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.ScriptPatternSelector"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractCsvLayout"><annotation><documentation>A superclass for Comma-Separated Value (CSV) layouts.
+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><documentation>The action to take on a mismatch.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.TimeFilter"><annotation><documentation>Filters events that fall within a specified time period in each day.</documentation></annotation><attribute name="end" type="string"><annotation><documentation>The end time.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Action to perform if the time matches.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Action to perform if the action does not match.</documentation></annotation></attribute><attribute name="start" type="string"><annotation><documentation>The start time.</documentation></annotation></attribute><attribute name="timezone" type="string"><annotation><documentation>timezone.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.impl.LocationAware"><annotation><documentation>Classes that use location information should implement this interface.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><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 name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="Http" type="log4j:org.apache.logging.log4j.core.appender.HttpAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="Null" type="log4j:org.apache.logging.log4j.core.appender.NullAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="RandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RandomAccessFileAppender"/><element name="RollingFile" type="log4j:org.apache.logging.log4j.core.appender.RollingFileAppender"/><element name="RollingRandomAccessFile" type="log4j:org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.core.appender.ScriptAppenderSelector"/><element name="SMTP" type="log4j:org.apache.logging.log4j.core.appender.SmtpAppender"/><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/><element name="Writer" type="log4j:org.apache.logging.log4j.core.appender.WriterAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="JMS" type="log4j:org.apache.logging.log4j.core.appender.mom.JmsAppender"/><element name="JeroMQ" type="log4j:org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"/><element name="Kafka" type="log4j:org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="Rewrite" type="log4j:org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"/><element name="Routing" type="log4j:org.apache.logging.log4j.core.appender.routing.RoutingAppender"/><element name="asyncLogger" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig"/><element name="asyncRoot" type="log4j:org.apache.logging.log4j.core.async.AsyncLoggerConfig.RootLogger"/><element name="logger" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig"/><element name="root" type="log4j:org.apache.logging.log4j.core.config.LoggerConfig.RootLogger"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLayout"/><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="LevelPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.LevelPatternSelector"/><element name="MarkerPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.MarkerPatternSelector"/><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="ScriptPatternSelector" type="log4j:org.apache.logging.log4j.core.layout.ScriptPatternSelector"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/><element name="Servlet" type="log4j:org.apache.logging.log4j.web.appender.ServletAppender"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractCsvLayout"><annotation><documentation>A superclass for Comma-Separated Value (CSV) layouts.
 
 Depends on Apache Commons CSV 1.2.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractJacksonLayout"><choice><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractLayout"><annotation><documentation>Abstract base class for Layouts.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLayout"/><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="MessageLayout" type="log4j:org.apache.logging.log4j.core.layout.MessageLayout"/><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="SerializedLayout" type="log4j:org.apache.logging.log4j.core.layout.SerializedLayout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="XmlLayout" type="log4j:org.apache.logging.log4j.core.layout.XmlLayout"/><element name="YamlLayout" type="log4j:org.apache.logging.log4j.core.layout.YamlLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractStringLayout"><annotation><documentation>Abstract base class for Layouts that result in a String.
 
@@ -383,17 +385,17 @@
 
 If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsString" type="boolean"><annotation><documentation>Whether to format the stacktrace as a string, and not a nested object (optional, defaults to false).</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.lookup.AbstractConfigurationAwareLookup"><annotation><documentation>StrLookup that is ConfigurationAware.
 
-Handles saving the Configuration.</documentation></annotation><choice><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><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.lookup.EventLookup"/><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><element name="java" type="log4j:org.apache.logging.log4j.core.lookup.JavaLookup"/><element name="jndi" type="log4j:org.apache.logging.log4j.core.lookup.JndiLookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/><element name="marker" type="log4j:org.apache.logging.log4j.core.lookup.MarkerLookup"/><element name="bundle" type="log4j:org.apache.logging.log4j.core.lookup.ResourceBundleLookup"/><element name="sys" type="log4j:org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"/><element name="docker" type="log4j:org.apache.logging.log4j.docker.DockerLookup"/><element name="web" type="log4j:org.apache.logging.log4j.web.WebLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.ContextMapLookup"><annotation><documentation>Looks up keys from the context.
+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.lookup.EventLookup"/><element name="java" type="log4j:org.apache.logging.log4j.core.lookup.JavaLookup"/><element name="jndi" type="log4j:org.apache.logging.log4j.core.lookup.JndiLookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/><element name="marker" type="log4j:org.apache.logging.log4j.core.lookup.MarkerLookup"/><element name="bundle" type="log4j:org.apache.logging.log4j.core.lookup.ResourceBundleLookup"/><element name="sys" type="log4j:org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"/><element name="docker" type="log4j:org.apache.logging.log4j.docker.DockerLookup"/><element name="web" type="log4j:org.apache.logging.log4j.web.WebLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.ContextMapLookup"><annotation><documentation>Looks up keys from the context.
 
 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.log4j.core.lookup.InterpolatorTest.Lookup"></complexType><complexType name="org.apache.logging.log4j.core.lookup.JavaLookup"><annotation><documentation>Looks up keys related to Java: Java version, JRE version, VM version, and so on.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup"><annotation><documentation>Maps JVM input arguments (but not main arguments) using JMX to acquire JVM arguments.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.JndiLookup"><annotation><documentation>Looks up keys from JNDI resources.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.Log4jLookup"><annotation><documentation>Lookup properties of Log4j</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.LowerLookup"><annotation><documentation>Converts values to lower case.
+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.log4j.core.lookup.JavaLookup"><annotation><documentation>Looks up keys related to Java: Java version, JRE version, VM version, and so on.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup"><annotation><documentation>Maps JVM input arguments (but not main arguments) using JMX to acquire JVM arguments.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.JndiLookup"><annotation><documentation>Looks up keys from JNDI resources.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.Log4jLookup"><annotation><documentation>Lookup properties of Log4j</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.LowerLookup"><annotation><documentation>Converts values to lower case.
 
 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><complexType name="org.apache.logging.log4j.core.lookup.MarkerLookup"><annotation><documentation>Looks-up markers.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.ResourceBundleLookup"><annotation><documentation>Looks up keys from resource bundles.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.lookup.StrLookup"><annotation><documentation>Lookup a String key to a String value.
+See apiref:org.apache.logging.log4j.core.lookup.MainMapLookup#setMainArguments(String[])[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MapLookup"><annotation><documentation>A map-based lookup.</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"/><element name="map" type="log4j:org.apache.logging.log4j.core.lookup.MapLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.MarkerLookup"><annotation><documentation>Looks-up markers.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.ResourceBundleLookup"><annotation><documentation>Looks up keys from resource bundles.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.lookup.StrLookup"><annotation><documentation>Lookup a String key to a String value.
 
 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.
@@ -401,9 +403,9 @@
 This class comes complete with various factory methods.
 If these do not suffice, you can subclass and implement your own matcher.
 
-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.log4j.core.lookup.EventLookup"/><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><element name="java" type="log4j:org.apache.logging.log4j.core.lookup.JavaLookup"/><element name="jvmrunargs" type="log4j:org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup"/><element name="jndi" type="log4j:org.apache.logging.log4j.core.lookup.JndiLookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/><element name="lower" type="log4j:org.apache.logging.log4j.core.lookup.LowerLookup"/><element name="main" type="log4j:org.apache.logging.log4j.core.lookup.MainMapLookup"/><element name="marker" type="log4j:org.apache.logging.log4j.core.lookup.MarkerLookup"/><element name="bundle" type="log4j:org.apache.logging.log4j.core.lookup.ResourceBundleLookup"/><element name="sd" type="log4j:org.apache.logging.log4j.core.lookup.StructuredDataLookup"/><element name="sys" type="log4j:org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"/><element name="upper" type="log4j:org.apache.logging.log4j.core.lookup.UpperLookup"/><element name="docker" type="log4j:org.apache.logging.log4j.docker.DockerLookup"/><element name="spring" type="log4j:org.apache.logging.log4j.spring.boot.SpringLookup"/><element name="web" type="log4j:org.apache.logging.log4j.web.WebLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.StructuredDataLookup"><annotation><documentation>Looks up keys from apiref:org.apache.logging.log4j.core.lookup.org.apache.logging.log4j.message.StructuredDataMessage[] log messages.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"><annotation><documentation>Looks up keys from system properties.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.UpperLookup"><annotation><documentation>Converts values to upper case.
+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.log4j.core.lookup.EventLookup"/><element name="java" type="log4j:org.apache.logging.log4j.core.lookup.JavaLookup"/><element name="jvmrunargs" type="log4j:org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup"/><element name="jndi" type="log4j:org.apache.logging.log4j.core.lookup.JndiLookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/><element name="lower" type="log4j:org.apache.logging.log4j.core.lookup.LowerLookup"/><element name="main" type="log4j:org.apache.logging.log4j.core.lookup.MainMapLookup"/><element name="map" type="log4j:org.apache.logging.log4j.core.lookup.MapLookup"/><element name="marker" type="log4j:org.apache.logging.log4j.core.lookup.MarkerLookup"/><element name="bundle" type="log4j:org.apache.logging.log4j.core.lookup.ResourceBundleLookup"/><element name="sd" type="log4j:org.apache.logging.log4j.core.lookup.StructuredDataLookup"/><element name="sys" type="log4j:org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"/><element name="upper" type="log4j:org.apache.logging.log4j.core.lookup.UpperLookup"/><element name="docker" type="log4j:org.apache.logging.log4j.docker.DockerLookup"/><element name="spring" type="log4j:org.apache.logging.log4j.spring.boot.SpringLookup"/><element name="web" type="log4j:org.apache.logging.log4j.web.WebLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.StructuredDataLookup"><annotation><documentation>Looks up keys from apiref:org.apache.logging.log4j.core.lookup.org.apache.logging.log4j.message.StructuredDataMessage[] log messages.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.SystemPropertiesLookup"><annotation><documentation>Looks up keys from system properties.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.UpperLookup"><annotation><documentation>Converts values to upper case.
 
-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.apache.logging.log4j.core.net.Facility"><annotation><documentation>The facility codes used by the Syslog system.
+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="multicastdns" type="log4j:org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"/></choice></group><simpleType name="org.apache.logging.log4j.core.net.Facility"><annotation><documentation>The facility codes used by the Syslog system.
 
 [cols="1,1"]
 |===
@@ -507,7 +509,7 @@
 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 classes need.
 
 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="TestFormatPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestFormatPatternConverter"/><element name="TestParametersPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestParametersPatternConverter"/><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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="IntegerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.IntegerPatternConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><group name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter"><annotation><documentation>Style pattern converter.
+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.log4j.core.pattern.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="IntegerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.IntegerPatternConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="ThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><group name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter"><annotation><documentation>Style pattern converter.
 
 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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"><annotation><documentation>Black style pattern converter.
 
@@ -571,7 +573,7 @@
 [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.LineLocationPatternConverter"><annotation><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"><annotation><documentation>Formats a line separator.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.LogEventPatternConverter"><annotation><documentation>LoggingEventPatternConverter is a base class for pattern converters that can format information from instances of LoggingEvent.</documentation></annotation><choice><element name="TestFormatPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestFormatPatternConverter"/><element name="TestParametersPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestParametersPatternConverter"/><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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"><annotation><documentation>Formats the Logger FQCN.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LoggerPatternConverter"><annotation><documentation>Formats a logger name.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MapPatternConverter"><annotation><documentation>Able to handle the contents of the LogEvent's MapMessage and either output the entire contents of the properties in a similar format to the java.
+----</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.LineLocationPatternConverter"><annotation><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"><annotation><documentation>Formats a line separator.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.LogEventPatternConverter"><annotation><documentation>LoggingEventPatternConverter is a base class for pattern converters that can format information from instances of LoggingEvent.</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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="ThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"><annotation><documentation>Formats the Logger FQCN.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LoggerPatternConverter"><annotation><documentation>Formats a logger name.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MapPatternConverter"><annotation><documentation>Able to handle the contents of the LogEvent's MapMessage 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 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.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MaxLengthConverter"><annotation><documentation>Max length pattern converter.
@@ -581,18 +583,18 @@
 Example usage (for email subject): `"%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =&gt;%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><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.NamePatternConverter"><annotation><documentation>Abstract base class for other pattern converters which can return only parts of their name.</documentation></annotation><choice><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"><annotation><documentation>Converts and formats the event's nanoTime in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.NdcPatternConverter"><annotation><documentation>Returns the event's NDC in a StringBuilder.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.PatternConverter"><annotation><documentation>Interface that all PatternConverters must implement.</documentation></annotation><choice><element name="TestFormatPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestFormatPatternConverter"/><element name="TestParametersPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestParametersPatternConverter"/><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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="IntegerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.IntegerPatternConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"></complexType><complexType name="org.apache.logging.log4j.core.pattern.RegexReplacement"><annotation><documentation>Replace tokens in the LogEvent message.</documentation></annotation><attribute name="replacement" type="string"><annotation><documentation>The replacement value.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.pattern.RegexReplacementConverter"><annotation><documentation>Replacement pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"><annotation><documentation>Returns the relative time in milliseconds since JVM Startup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RepeatPatternConverter"><annotation><documentation>Equals pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"><annotation><documentation>Outputs the Throwable portion of the LoggingEvent as a full stack trace unless this converter's option is 'short', where it just outputs the first line of the trace, or if the number of lines to print is explicitly specified.
+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><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.NamePatternConverter"><annotation><documentation>Abstract base class for other pattern converters which can return only parts of their name.</documentation></annotation><choice><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"><annotation><documentation>Converts and formats the event's nanoTime in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.NdcPatternConverter"><annotation><documentation>Returns the event's NDC in a StringBuilder.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.PatternConverter"><annotation><documentation>Interface that all PatternConverters must implement.</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.AbstractStyleNameConverter.Green"/><element name="magenta" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"/><element name="red" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"/><element name="white" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"/><element name="yellow" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"/><element name="ClassNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"/><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="encode" type="log4j:org.apache.logging.log4j.core.pattern.EncodingPatternConverter"/><element name="EndOfBatchPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"/><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="FileLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"/><element name="FullLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"/><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="IntegerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.IntegerPatternConverter"/><element name="LevelPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LevelPatternConverter"/><element name="LineLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"/><element name="LineSeparatorPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter"/><element name="LoggerFqcnPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"/><element name="LoggerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.LoggerPatternConverter"/><element name="MapPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MapPatternConverter"/><element name="MarkerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerPatternConverter"/><element name="MarkerNamePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"/><element name="maxLength" type="log4j:org.apache.logging.log4j.core.pattern.MaxLengthConverter"/><element name="MdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MdcPatternConverter"/><element name="MessagePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MessagePatternConverter"/><element name="MethodLocationPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"/><element name="NanoTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"/><element name="NdcPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.NdcPatternConverter"/><element name="ProcessIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"/><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacementConverter"/><element name="RelativeTimePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"/><element name="repeat" type="log4j:org.apache.logging.log4j.core.pattern.RepeatPatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="SequenceNumberPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/><element name="ThreadIdPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"/><element name="ThreadPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"/><element name="ThreadPriorityPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"/><element name="ThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"/><element name="UuidPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.UuidPatternConverter"/><element name="notEmpty" type="log4j:org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"></complexType><complexType name="org.apache.logging.log4j.core.pattern.RegexReplacement"><annotation><documentation>Replace tokens in the LogEvent message.</documentation></annotation><attribute name="replacement" type="string"><annotation><documentation>The replacement value.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.pattern.RegexReplacementConverter"><annotation><documentation>Replacement pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"><annotation><documentation>Returns the relative time in milliseconds since JVM Startup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RepeatPatternConverter"><annotation><documentation>Equals pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"><annotation><documentation>Outputs the Throwable portion of the LoggingEvent as a full stack trace unless this converter's option is 'short', where it just outputs the first line of the trace, or if the number of lines to print is explicitly specified.
 
 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"><annotation><documentation>Formats the event thread name.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"><annotation><documentation>Formats the event thread priority.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"><annotation><documentation>Outputs the Throwable portion of the LoggingEvent as a full stack trace unless this converter's option is 'short', where it just outputs the first line of the trace, or if the number of lines to print is explicitly specified.</documentation></annotation><choice><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.UuidPatternConverter"><annotation><documentation>Formats the event sequence number.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"><annotation><documentation>VariablesNotEmpty pattern converter.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.script.AbstractScript"><annotation><documentation>Container for the language and body of a script.</documentation></annotation><choice><element name="Script" type="log4j:org.apache.logging.log4j.core.script.Script"/><element name="ScriptFile" type="log4j:org.apache.logging.log4j.core.script.ScriptFile"/><element name="ScriptRef" type="log4j:org.apache.logging.log4j.core.script.ScriptRef"/></choice></group><complexType name="org.apache.logging.log4j.core.script.Script"><annotation><documentation>Container for the language and body of a script.</documentation></annotation><attribute name="language" type="string"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.script.ScriptFile"><annotation><documentation>Container for the language and body of a script file along with the file location.</documentation></annotation><attribute name="language" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="path" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.script.ScriptRef"><annotation><documentation>Contains a reference to a script defined elsewhere in the configuration.</documentation></annotation><attribute name="ref" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.util.AbstractWatcher"><annotation><documentation>Watcher for configuration files.
+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"><annotation><documentation>Formats the event thread name.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"><annotation><documentation>Formats the event thread priority.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"><annotation><documentation>Outputs the Throwable portion of the LoggingEvent as a full stack trace unless this converter's option is 'short', where it just outputs the first line of the trace, or if the number of lines to print is explicitly specified.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"><annotation><documentation>Outputs the Throwable portion of the LoggingEvent as a full stack trace unless this converter's option is 'short', where it just outputs the first line of the trace, or if the number of lines to print is explicitly specified.</documentation></annotation><choice><element name="ExtendedThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"/><element name="RootThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"/><element name="ThrowablePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.UuidPatternConverter"><annotation><documentation>Formats the event sequence number.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"><annotation><documentation>VariablesNotEmpty pattern converter.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.script.AbstractScript"><annotation><documentation>Container for the language and body of a script.</documentation></annotation><choice><element name="Script" type="log4j:org.apache.logging.log4j.core.script.Script"/><element name="ScriptFile" type="log4j:org.apache.logging.log4j.core.script.ScriptFile"/><element name="ScriptRef" type="log4j:org.apache.logging.log4j.core.script.ScriptRef"/></choice></group><complexType name="org.apache.logging.log4j.core.script.Script"><annotation><documentation>Container for the language and body of a script.</documentation></annotation><attribute name="language" type="string"></attribute><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.script.ScriptFile"><annotation><documentation>Container for the language and body of a script file along with the file location.</documentation></annotation><attribute name="language" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="path" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.script.ScriptRef"><annotation><documentation>Contains a reference to a script defined elsewhere in the configuration.</documentation></annotation><attribute name="ref" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.util.AbstractWatcher"><annotation><documentation>Watcher for configuration files.
 
 Causes a reconfiguration when a file changes.</documentation></annotation><choice><element name="http" type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><group name="org.apache.logging.log4j.core.util.Builder"><annotation><documentation>A type of builder that can be used to configure and create a instances using a Java DSL instead of through a configuration file.
 
 These builders are primarily useful for internal code and unit tests, but they can technically be used as a verbose alternative to configuration files.
 
-When creating _plugin_ builders, it is customary to create the builder class as a public static inner class called `Builder`. For instance, the builder class for apiref:org.apache.logging.log4j.core.util.org.apache.logging.log4j.core.layout.PatternLayout[PatternLayout] would be `PatternLayout. Builder`.</documentation></annotation><choice><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions"/><element name="SocketPerformancePreferences" type="log4j:org.apache.logging.log4j.core.net.SocketPerformancePreferences"/></choice></group><complexType name="org.apache.logging.log4j.core.util.KeyValuePair"><annotation><documentation>Key/Value pair configuration item.</documentation></annotation><attribute name="key" type="string"></attribute><attribute name="value" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.util.SecretKeyProvider"><choice><element name="FlumeKeyProvider" type="log4j:org.apache.logging.log4j.flume.test.FlumeKeyProvider"/></choice></group><group name="org.apache.logging.log4j.core.util.Watcher"><annotation><documentation>Watches for changes in a Source and performs an action when it is modified.</documentation></annotation><choice><element name="http" type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><complexType name="org.apache.logging.log4j.couchdb.CouchDbProvider"><annotation><documentation>The Apache CouchDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[].</documentation></annotation><attribute name="databaseName" type="string"><annotation><documentation>The name of the database to which log event documents will be written.</documentation></annotation></attribute><attribute name="factoryClassName" type="string"><annotation><documentation>A fully qualified class name containing a static factory method capable of returning a apiref:org.lightcouch.CouchDbClient[] or apiref:org.lightcouch.CouchDbProperties[].</documentation></annotation></attribute><attribute name="factoryMethodName" type="string"><annotation><documentation>The name of the public static factory method belonging to the aforementioned factory class.</documentation></annotation></attribute><attribute name="password" type="string"><annotation><documentation>The password to authenticate against the MongoDB server with, mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="port" type="string"><annotation><documentation>The port that CouchDB is listening on, defaults to 80 if `protocol` is "http" and 443 if `protocol` is "https," and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="protocol" type="string"><annotation><documentation>Either "http" or "https," defaults to "http" and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="server" type="string"><annotation><documentation>The host name of the CouchDB server, defaults to localhost and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="username" type="string"><annotation><documentation>The username to authenticate against the MongoDB server with, mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.docker.DockerLookup"><annotation><documentation>Lookups up keys for a Docker container.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.flume.test.FlumeKeyProvider"></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"></attribute><attribute name="eventTemplate" type="string"></attribute><attribute name="eventTemplateRootObjectKey" type="string"></attribute><attribute name="eventTemplateUri" type="string"></attribute><attribute name="locationInfoEnabled" type="boolean"></attribute><attribute name="maxStringLength" type="int"></attribute><attribute name="nullEventDelimiterEnabled" type="boolean"></attribute><attribute name="recyclerFactory" type="log4j:org.apache.logging.log4j.layout.template.json.util.RecyclerFactory"></attribute><attribute name="stackTraceElementTemplate" type="string"></attribute><attribute name="stackTraceElementTemplateUri" type="string"></attribute><attribute name="stackTraceEnabled" type="boolean"></attribute><attribute name="truncatedStringSuffix" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField"><attribute name="format" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField.Format"></attribute><attribute name="key" type="string"></attribute><attribute name="value" type="string"></attribute></complexType><simpleType name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField.Format"><restriction base="string"><enumeration value="STRING"></enumeration><enumeration value="JSON"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.CounterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"><annotation><documentation>Interceptor to add apiref:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField[additional fields] after event template read.</documentation></annotation></complexType><group name="org.apache.logging.log4j.layout.template.json.resolver.EventResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverFactory[] specialized for apiref:org.apache.logging.log4j.core.LogEvent[]s.</documentation></annotation><choice><element name="CaseConverterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"/><element name="CounterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"/><element name="EndOfBatchResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"/><element name="ExceptionResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"/><element name="ExceptionRootCauseResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"/><element name="LevelResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"/><element name="LoggerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"/><element name="MainMapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"/><element name="MapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"/><element name="MarkerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"/><element name="MessageParameterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"/><element name="MessageResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"/><element name="PatternResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"/><element name="SourceResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"/><element name="ThreadContextDataResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"/><element name="ThreadContextStackResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"/><element name="ThreadResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"/><element name="TimestampResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"/></choice></group><group name="org.apache.logging.log4j.layout.template.json.resolver.EventResolverInterceptor"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverInterceptor[] specialized for apiref:org.apache.logging.log4j.core.LogEvent[]s.</documentation></annotation><choice><element name="EventAdditionalFieldInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"/><element name="EventRootObjectKeyInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"/></choice></group><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"><annotation><documentation>Interceptor to add a root object key to the event template.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.LevelResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MapResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"><annotation><documentation>A apiref:org.apache.logging.log4j.layout.template.json.resolver.MessageResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.PatternResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.SourceResolver[] factory.</documentation></annotation></complexType><group name="org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolver[] factory.</documentation></annotation><choice><element name="CaseConverterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"/><element name="CounterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"/><element name="EndOfBatchResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"/><element name="ExceptionResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"/><element name="ExceptionRootCauseResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"/><element name="LevelResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"/><element name="LoggerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"/><element name="MainMapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"/><element name="MapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"/><element name="MarkerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"/><element name="MessageParameterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"/><element name="MessageResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"/><element name="PatternResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"/><element name="SourceResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"/><element name="ThreadContextDataResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"/><element name="ThreadContextStackResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"/><element name="ThreadResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"/><element name="TimestampResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"/></choice></group><group name="org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverInterceptor"><annotation><documentation>Main apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolver[] compilation interception interface.</documentation></annotation><choice><element name="EventAdditionalFieldInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"/><element name="EventRootObjectKeyInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"/></choice></group><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolver[] factory.</documentation></annotation></complexType><simpleType name="org.apache.logging.log4j.layout.template.json.util.RecyclerFactory"><restriction base="string"></restriction></simpleType><complexType name="org.apache.logging.log4j.layout.template.json.util.RecyclerFactoryConverter"><annotation><documentation>The default string (i.e., recycler factory spec) to apiref:org.apache.logging.log4j.layout.template.json.util.RecyclerFactory[] type converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.mongodb3.MongoDbProvider"><annotation><documentation>The MongoDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[].using the MongoDB driver version 3 API.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="capped" type="boolean"></attribute><attribute name="collectionName" type="string"></attribute><attribute name="collectionSize" type="int"></attribute><attribute name="databaseName" type="string"></attribute><attribute name="factoryClassName" type="string"></attribute><attribute name="factoryMethodName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="port" type="string"></attribute><attribute name="server" type="string"></attribute><attribute name="userName" type="string"></attribute><attribute name="writeConcernConstant" type="string"></attribute><attribute name="writeConcernConstantClassName" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.mongodb4.MongoDb4Provider"><annotation><documentation>The MongoDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] using the MongoDB driver version 4 API.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="capped" type="boolean"></attribute><attribute name="collectionSize" type="long"></attribute><attribute name="connection" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.osgi.tests.CustomConfigurationFactory"><annotation><documentation>Factory to construct a CustomConfiguration.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.spring.boot.SpringLookup"><annotation><documentation>Lookup for Spring properties.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.spring.boot.SpringProfileArbiter"><annotation><documentation>An Aribter that uses the active Spring profile to determine if configuration should be included.</documentation></annotation><attribute name="name" type="string"><annotation><documentation>Sets the Profile Name or Names.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.web.WebLookup"></complexType><complexType name="org.apache.logging.log4j.web.appender.ServletAppender"><annotation><documentation>Logs using the ServletContext's log method</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="logThrowables" type="boolean"><annotation><documentation>Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.
+When creating _plugin_ builders, it is customary to create the builder class as a public static inner class called `Builder`. For instance, the builder class for apiref:org.apache.logging.log4j.core.util.org.apache.logging.log4j.core.layout.PatternLayout[PatternLayout] would be `PatternLayout. Builder`.</documentation></annotation><choice><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions"/><element name="SocketPerformancePreferences" type="log4j:org.apache.logging.log4j.core.net.SocketPerformancePreferences"/></choice></group><complexType name="org.apache.logging.log4j.core.util.KeyValuePair"><annotation><documentation>Key/Value pair configuration item.</documentation></annotation><attribute name="key" type="string"></attribute><attribute name="value" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.util.SecretKeyProvider"><choice><element name="FlumeKeyProvider" type="log4j:org.apache.logging.log4j.flume.test.FlumeKeyProvider"/></choice></group><group name="org.apache.logging.log4j.core.util.Watcher"><annotation><documentation>Watches for changes in a Source and performs an action when it is modified.</documentation></annotation><choice><element name="http" type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><complexType name="org.apache.logging.log4j.couchdb.CouchDbProvider"><annotation><documentation>The Apache CouchDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[].</documentation></annotation><attribute name="databaseName" type="string"><annotation><documentation>The name of the database to which log event documents will be written.</documentation></annotation></attribute><attribute name="factoryClassName" type="string"><annotation><documentation>A fully qualified class name containing a static factory method capable of returning a apiref:org.lightcouch.CouchDbClient[] or apiref:org.lightcouch.CouchDbProperties[].</documentation></annotation></attribute><attribute name="factoryMethodName" type="string"><annotation><documentation>The name of the public static factory method belonging to the aforementioned factory class.</documentation></annotation></attribute><attribute name="password" type="string"><annotation><documentation>The password to authenticate against the MongoDB server with, mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="port" type="string"><annotation><documentation>The port that CouchDB is listening on, defaults to 80 if `protocol` is "http" and 443 if `protocol` is "https," and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="protocol" type="string"><annotation><documentation>Either "http" or "https," defaults to "http" and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="server" type="string"><annotation><documentation>The host name of the CouchDB server, defaults to localhost and mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute><attribute name="username" type="string"><annotation><documentation>The username to authenticate against the MongoDB server with, mutually exclusive with `factoryClassName&amp;factoryMethodName! =null`.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.docker.DockerLookup"><annotation><documentation>Lookups up keys for a Docker container.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.flume.test.FlumeKeyProvider"></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"></attribute><attribute name="eventTemplate" type="string"></attribute><attribute name="eventTemplateRootObjectKey" type="string"></attribute><attribute name="eventTemplateUri" type="string"></attribute><attribute name="locationInfoEnabled" type="boolean"></attribute><attribute name="maxStringLength" type="int"></attribute><attribute name="nullEventDelimiterEnabled" type="boolean"></attribute><attribute name="recyclerFactory" type="log4j:org.apache.logging.log4j.layout.template.json.util.RecyclerFactory"></attribute><attribute name="stackTraceElementTemplate" type="string"></attribute><attribute name="stackTraceElementTemplateUri" type="string"></attribute><attribute name="stackTraceEnabled" type="boolean"></attribute><attribute name="truncatedStringSuffix" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField"><attribute name="format" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField.Format"></attribute><attribute name="key" type="string"></attribute><attribute name="value" type="string"></attribute></complexType><simpleType name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField.Format"><restriction base="string"><enumeration value="STRING"></enumeration><enumeration value="JSON"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.CounterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"><annotation><documentation>Interceptor to add apiref:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField[additional fields] after event template read.</documentation></annotation></complexType><group name="org.apache.logging.log4j.layout.template.json.resolver.EventResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverFactory[] specialized for apiref:org.apache.logging.log4j.core.LogEvent[]s.</documentation></annotation><choice><element name="CaseConverterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"/><element name="CounterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"/><element name="EndOfBatchResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"/><element name="ExceptionResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"/><element name="ExceptionRootCauseResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"/><element name="LevelResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"/><element name="LoggerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"/><element name="MainMapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"/><element name="MapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"/><element name="MarkerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"/><element name="MessageParameterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"/><element name="MessageResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"/><element name="PatternResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"/><element name="SourceResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"/><element name="ThreadContextDataResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"/><element name="ThreadContextStackResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"/><element name="ThreadResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"/><element name="TimestampResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"/></choice></group><group name="org.apache.logging.log4j.layout.template.json.resolver.EventResolverInterceptor"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverInterceptor[] specialized for apiref:org.apache.logging.log4j.core.LogEvent[]s.</documentation></annotation><choice><element name="EventAdditionalFieldInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"/><element name="EventRootObjectKeyInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"/></choice></group><complexType name="org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"><annotation><documentation>Interceptor to add a root object key to the event template.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.LevelResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MapResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"><annotation><documentation>A apiref:org.apache.logging.log4j.layout.template.json.resolver.MessageResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.PatternResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.SourceResolver[] factory.</documentation></annotation></complexType><group name="org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolver[] factory.</documentation></annotation><choice><element name="CaseConverterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CaseConverterResolverFactory"/><element name="CounterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.CounterResolverFactory"/><element name="EndOfBatchResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EndOfBatchResolverFactory"/><element name="ExceptionResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionResolverFactory"/><element name="ExceptionRootCauseResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ExceptionRootCauseResolverFactory"/><element name="LevelResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LevelResolverFactory"/><element name="LoggerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.LoggerResolverFactory"/><element name="MainMapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MainMapResolverFactory"/><element name="MapResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MapResolverFactory"/><element name="MarkerResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MarkerResolverFactory"/><element name="MessageParameterResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageParameterResolverFactory"/><element name="MessageResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.MessageResolverFactory"/><element name="PatternResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.PatternResolverFactory"/><element name="SourceResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.SourceResolverFactory"/><element name="ThreadContextDataResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"/><element name="ThreadContextStackResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"/><element name="ThreadResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"/><element name="TimestampResolverFactory" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"/></choice></group><group name="org.apache.logging.log4j.layout.template.json.resolver.TemplateResolverInterceptor"><annotation><documentation>Main apiref:org.apache.logging.log4j.layout.template.json.resolver.TemplateResolver[] compilation interception interface.</documentation></annotation><choice><element name="EventAdditionalFieldInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventAdditionalFieldInterceptor"/><element name="EventRootObjectKeyInterceptor" type="log4j:org.apache.logging.log4j.layout.template.json.resolver.EventRootObjectKeyInterceptor"/></choice></group><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextDataResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadContextStackResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.ThreadResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.ThreadResolver[] factory.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.resolver.TimestampResolverFactory"><annotation><documentation>apiref:org.apache.logging.log4j.layout.template.json.resolver.TimestampResolver[] factory.</documentation></annotation></complexType><simpleType name="org.apache.logging.log4j.layout.template.json.util.RecyclerFactory"><restriction base="string"></restriction></simpleType><complexType name="org.apache.logging.log4j.layout.template.json.util.RecyclerFactoryConverter"><annotation><documentation>The default string (i.e., recycler factory spec) to apiref:org.apache.logging.log4j.layout.template.json.util.RecyclerFactory[] type converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.mongodb3.MongoDbProvider"><annotation><documentation>The MongoDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[].using the MongoDB driver version 3 API.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="capped" type="boolean"></attribute><attribute name="collectionName" type="string"></attribute><attribute name="collectionSize" type="int"></attribute><attribute name="databaseName" type="string"></attribute><attribute name="factoryClassName" type="string"></attribute><attribute name="factoryMethodName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="port" type="string"></attribute><attribute name="server" type="string"></attribute><attribute name="userName" type="string"></attribute><attribute name="writeConcernConstant" type="string"></attribute><attribute name="writeConcernConstantClassName" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.mongodb4.MongoDb4Provider"><annotation><documentation>The MongoDB implementation of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] using the MongoDB driver version 4 API.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="capped" type="boolean"></attribute><attribute name="collectionSize" type="long"></attribute><attribute name="connection" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.spring.boot.SpringLookup"><annotation><documentation>Lookup for Spring properties.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.spring.boot.SpringProfileArbiter"><annotation><documentation>An Aribter that uses the active Spring profile to determine if configuration should be included.</documentation></annotation><attribute name="name" type="string"><annotation><documentation>Sets the Profile Name or Names.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.web.WebLookup"></complexType><complexType name="org.apache.logging.log4j.web.appender.ServletAppender"><annotation><documentation>Logs using the ServletContext's log method</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="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="logThrowables" type="boolean"><annotation><documentation>Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.
 
-Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.</documentation></annotation></attribute><attribute name="name" type="string"></attribute></complexType></schema>
+Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.</documentation></annotation></attribute><attribute name="name" type="string"></attribute></complexType></schema>
\ No newline at end of file