blob: 8e37a26a68cea33e53872a25624daa982402f412 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns" version="3.0.0-SNAPSHOT"><element type="log4j:org.apache.logging.log4j.core.config.Configuration" name="Configuration"/><simpleType name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction base="string"><enumeration value="WAITING"></enumeration><enumeration value="BLOCKING"></enumeration><enumeration value="SPINNING"></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.config.properties.JavaPropsConfigurationFactory"></complexType><complexType name="org.apache.logging.log4j.config.yaml.YamlConfigurationFactory"></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="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="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"/><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="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="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="PoolingDriver" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element name="DataSource" type="log4j:org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.jdbc.appender.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.script.filter.ScriptFilter"/></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.org.apache.logging.log4j.plugins.Plugin[] and need to provide a static factory method annotated with apiref:org.apache.logging.log4j.core.org.apache.logging.log4j.plugins.PluginFactory[].
Most core plugins are written using a related Manager class that handle the actual task of serializing a apiref:org.apache.logging.log4j.core.LogEvent[] to some output location.
For instance, many Appenders can take advantage of the apiref:org.apache.logging.log4j.core.appender.OutputStreamManager[] class.
It is recommended that Appenders don't do any heavy lifting since there can be many instances of the class being used at any given time.
When resources require locking (e.g., through apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is important to isolate synchronized code to prevent concurrency issues.</documentation></annotation><choice><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.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="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"/><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="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/></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="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="ScriptFilter" type="log4j:org.apache.logging.log4j.script.filter.ScriptFilter"/></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>Converts apiref:org.apache.logging.log4j.core.LogEvent[] instances into different layouts of data.
A layout typically encodes into either a apiref:java.lang.String[] or `byte[]`. Since version 2.6, layouts implement apiref:org.apache.logging.log4j.core.layout.Encoder[] to support direct encoding of a log event into a apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without creating temporary intermediary objects.
Since version 3.0.0, layouts no longer reference the legacy Java serialization API and are limited to strings or bytes.</documentation></annotation><choice><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="PatternLayout" type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element name="Rfc5424Layout" type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/></choice></group><group name="org.apache.logging.log4j.core.LifeCycle"><annotation><documentation>All proper Java frameworks implement some sort of object life cycle.
In Log4j, the main interface for handling the life cycle context of an object is this one.
An object first starts in the apiref:org.apache.logging.log4j.core.State#INITIALIZED[] state by default to indicate the class has been loaded.
From here, calling the apiref:org.apache.logging.log4j.core.LifeCycle#start()[] method will change this state to apiref:org.apache.logging.log4j.core.State#STARTING[]. After successfully being started, this state is changed to apiref:org.apache.logging.log4j.core.State#STARTED[]. When the apiref:org.apache.logging.log4j.core.LifeCycle#stop()[] is called, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPING[] state.
After successfully being stopped, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPED[] state.
In most circumstances, implementation classes should store their apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[] dependent on synchronization and concurrency requirements.</documentation></annotation><choice><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.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="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"/><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="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="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="PoolingDriver" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element name="DataSource" type="log4j:org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.jdbc.appender.FactoryMethodConnectionSource"/><element name="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/><element name="ScriptFilter" type="log4j:org.apache.logging.log4j.script.filter.ScriptFilter"/></choice></group><group name="org.apache.logging.log4j.core.StringLayout"><annotation><documentation>Legacy interface from when layouts used to support more than strings or bytes.</documentation></annotation><choice><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="PatternLayout" type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element name="Rfc5424Layout" type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/><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="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="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"/><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="ReconfigurationDeadlockTestAppender" type="log4j:org.apache.logging.log4j.core.config.ReconfigurationDeadlockTest.TestAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/></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="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><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"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="blocking" type="boolean"></attribute><attribute name="bufferSize" type="int"></attribute><attribute name="errorRef" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="includeLocation" type="boolean"></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></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.
The default target is `System. out`.
TODO Accessing `System. out` or `System. err` as a byte stream instead of a writer bypasses the JVM's knowledge of the proper encoding.
(RG) Encoding is handled within the Layout.
Typically, a Layout will generate a String and then call getBytes which may use a configured encoding or the system default.
OTOH, a Writer cannot print byte streams.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="direct" type="boolean"></attribute><attribute name="follow" type="boolean"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:java.io.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute><attribute name="target" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender.Target"></attribute></complexType><simpleType name="org.apache.logging.log4j.core.appender.ConsoleAppender.Target"><annotation><documentation>Enumeration of 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="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the Appender (required).</documentation></annotation></attribute><attribute name="primary" type="string"><annotation><documentation>The name of the primary Appender (required).</documentation></annotation></attribute><attribute name="retryIntervalSeconds" type="int"><annotation><documentation>The retry interval 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"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="advertiseUri" type="string"></attribute><attribute name="append" type="boolean"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="createOnDemand" type="boolean"></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileName" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="locking" type="boolean"></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.HangingAppender"><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j: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"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"></element></sequence><attribute name="connectTimeoutMillis" type="int"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="method" type="string"></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute><attribute name="readTimeoutMillis" type="int"></attribute><attribute name="verifyHostname" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"><annotation><documentation>Memory Mapped File Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="advertiseURI" type="string"></attribute><attribute name="append" type="boolean"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="fileName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute><attribute name="regionLength" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.NullAppender"><annotation><documentation>An Appender that ignores log events.
Use for compatibility with version 1.2 and handy for composing a `ScriptAppenderSelector`.</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.RandomAccessFileAppender"><annotation><documentation>File Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="advertiseURI" type="string"></attribute><attribute name="append" type="boolean"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="fileName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.RollingFileAppender"><annotation><documentation>An appender that writes to files and can roll over at intervals.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.RolloverStrategy" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="advertiseUri" type="string"></attribute><attribute name="append" type="boolean"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="createOnDemand" type="boolean"></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileName" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePattern" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="locking" type="boolean"></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"><annotation><documentation>An appender that writes to random access files and can roll over at intervals.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.RolloverStrategy" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="advertiseURI" type="string"></attribute><attribute name="append" type="boolean"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileName" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePattern" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.SocketAppender"><annotation><documentation>An Appender that delivers events over socket connections.
Supports both TCP and UDP.</documentation></annotation><choice><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The Syslog Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element><element name="LoggerFields" type="log4j:org.apache.logging.log4j.core.layout.LoggerFields" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions" minOccurs="0"></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"></element></sequence><attribute name="advertise" type="boolean"></attribute><attribute name="appName" type="string"></attribute><attribute name="bufferSize" type="int"><annotation><documentation>Size of the buffer in bytes</documentation></annotation></attribute><attribute name="bufferedIo" type="boolean"><annotation><documentation>Determines whether to use a buffered `OutputStream`
If set to `true` (default) the appender will buffer messages before sending them.
This attribute is ignored if `immediateFlush` is set to `true`.</documentation></annotation></attribute><attribute name="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"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="immediateFail" type="boolean"></attribute><attribute name="immediateFlush" type="boolean"><annotation><documentation>Flushes the underlying `OutputStream` after each event
The effects of this setting depend on the output stream implementation (see apiref:org.apache.logging.log4j.core.appender.OutputStream#flush()[]. In the case of files, for example, setting this attribute to `true`, guarantees that all bytes written are passed to the operating system, but it *does not* guarantee that they are actually written to a physical device.
Setting this to `true` automatically disables buffering.</documentation></annotation></attribute><attribute name="includeMdc" type="boolean"></attribute><attribute name="mdcExcludes" type="string"></attribute><attribute name="mdcId" type="string"></attribute><attribute name="mdcIncludes" type="string"></attribute><attribute name="mdcPrefix" type="string"></attribute><attribute name="mdcRequired" type="string"></attribute><attribute name="messageId" type="string"></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></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><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="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.db.ColumnMapping"><annotation><documentation>A configuration element for specifying a database column name mapping.</documentation></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).
Not applicable if apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setType(Class)[] is a apiref:org.apache.logging.log4j.util.ReadOnlyStringMap[], apiref:org.apache.logging.log4j.spi.ThreadContextMap[], or apiref:org.apache.logging.log4j.spi.ThreadContextStack[].</documentation></annotation></group></sequence><attribute name="literal" type="string"><annotation><documentation>Literal value to use for populating a column.
This is generally useful for functions, stored procedures, etc.
No escaping will be done on this value.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Column name.</documentation></annotation></attribute><attribute name="parameter" type="string"><annotation><documentation>Parameter value to use for populating a column, MUST contain a single parameter marker '?'.
This is generally useful for functions, stored procedures, etc.
No escaping will be done on this value.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>Pattern to use as a apiref:org.apache.logging.log4j.core.layout.PatternLayout[].
Convenient shorthand for apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping#setLayout(StringLayout)[] with a PatternLayout.</documentation></annotation></attribute><attribute name="source" type="string"><annotation><documentation>Source name.
Useful when combined with a apiref:org.apache.logging.log4j.core.appender.db.org.apache.logging.log4j.message.MapMessage[] depending on the appender.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"><annotation><documentation>This Appender writes logging events to a NoSQL database using a configured NoSQL provider.
It requires implementations of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlObject[], apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlConnection[], and apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] to "know" how to write events to the chosen NoSQL database.
For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB providers.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></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"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"><annotation><documentation>Sets the buffer size.</documentation></annotation></attribute><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.nosql.NoSqlProvider"><choice><element name="MongoDb4" type="log4j:org.apache.logging.log4j.mongodb4.MongoDb4Provider"/></choice></group><complexType name="org.apache.logging.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" maxOccurs="unbounded"><annotation><documentation>An array of Appender names to call.</documentation></annotation></element></sequence><attribute name="ignoreExceptions" type="boolean"><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.
The DefaultRolloverStrategy is a combination of a time-based policy and a fixed-window policy.
When the file name pattern contains a date format then the rollover time interval will be used to calculate the time to use in the file pattern.
When the file pattern contains an integer replacement token one of the counting techniques will be used.
When the ascending attribute is set to true (the default) then the counter will be incremented and the current log file will be renamed to include the counter value.
If the counter hits the maximum value then the oldest file, which will have the smallest counter, will be deleted, all other files will be renamed to have their counter decremented and then the current file will be renamed to have the maximum counter value.
Note that with this counting strategy specifying a large maximum value may entirely avoid renaming files.
When the ascending attribute is false, then the "normal" fixed-window strategy will be used.
Let _max_ and _min_ represent the values of respectively the *MaxIndex* and *MinIndex* options.
Let "foo.
log" be the value of the *ActiveFile* option and "foo.
%i.log" the value of *FileNamePattern*. Then, when rolling over, the file `foo. _max_.log` will be deleted, the file `foo. _max-1_.log` will be renamed as `foo. _max_.log`, the file `foo. _max-2_.log` renamed as `foo. _max-1_.log`, and so on, the file `foo. _min+1_.log` renamed as `foo. _min+2_.log`. Lastly, the active file `foo. log` will be renamed as `foo. _min_.log` and a new active file name `foo. log` will be created.
Given that this rollover algorithm requires as many file renaming operations as the window size, large window sizes are discouraged.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Defines custom actions.</documentation></annotation></group></sequence><attribute name="compressionLevel" type="string"><annotation><documentation>Defines compression level.</documentation></annotation></attribute><attribute name="fileIndex" type="string"><annotation><documentation>Defines the file index for rolling strategy.</documentation></annotation></attribute><attribute name="max" type="string"><annotation><documentation>Defines the maximum number of files to keep.</documentation></annotation></attribute><attribute name="min" type="string"><annotation><documentation>Defines the minimum number of files to keep.</documentation></annotation></attribute><attribute name="stopCustomActionsOnError" type="boolean"><annotation><documentation>Defines whether to stop executing asynchronous actions if an error occurs.</documentation></annotation></attribute><attribute name="tempCompressedFilePattern" type="string"><annotation><documentation>Defines temporary compression file pattern.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rolling.DirectFileRolloverStrategy"><annotation><documentation>Created by rgoers on 1/12/17.</documentation></annotation><choice><element name="DirectWriteRolloverStrategy" type="log4j:org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy"><annotation><documentation>When rolling over, `DirectWriteRolloverStrategy` writes directly to the file as resolved by the file pattern.
Files will be renamed files according to an algorithm as described below.
The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy to determine the file name based on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it during rollover, except if it is compressed, in which case it will add the appropriate file extension.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.Action" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Defines custom actions.</documentation></annotation></group></sequence><attribute name="compressionLevel" type="string"><annotation><documentation>Defines compression level.</documentation></annotation></attribute><attribute name="maxFiles" type="string"><annotation><documentation>Defines the maximum number of files to keep.</documentation></annotation></attribute><attribute name="stopCustomActionsOnError" type="boolean"><annotation><documentation>Defines whether to stop executing asynchronous actions if an error occurs.</documentation></annotation></attribute><attribute name="tempCompressedFilePattern" type="string"><annotation><documentation>Defines temporary compression file pattern.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy"></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"><annotation><documentation>Triggers a rollover on every restart, but only if the file size is greater than zero.</documentation></annotation><attribute name="minSize" type="long"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rolling.RolloverStrategy"><annotation><documentation>A `RollingPolicy` specifies the actions taken on a logging file rollover.</documentation></annotation><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><complexType name="org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"><attribute name="size" type="string"><annotation><documentation>The size of the file before rollover is required.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"><annotation><documentation>Rolls a file over based on time.</documentation></annotation><attribute name="interval" type="int"></attribute><attribute name="maxRandomDelay" type="int"></attribute><attribute name="modulate" type="boolean"></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy"><annotation><documentation>A `TriggeringPolicy` controls the conditions under which rollover occurs.
Such conditions include time of day, file size, an external event, the log request or a combination thereof.</documentation></annotation><choice><element name="Policies" type="log4j:org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"/><element name="CronTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"/><element name="NoOpTriggeringPolicy" type="log4j:org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy"/><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><group name="org.apache.logging.log4j.core.appender.rolling.action.AbstractAction"><annotation><documentation>Abstract base class for implementations of Action.</documentation></annotation><choice><element name="Delete" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.DeleteAction"/><element name="PosixViewAttribute" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction"/></choice></group><group name="org.apache.logging.log4j.core.appender.rolling.action.AbstractPathAction"><annotation><documentation>Abstract action for processing files that are accepted by the specified PathFilters.</documentation></annotation><choice><element name="Delete" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.DeleteAction"/><element name="PosixViewAttribute" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction"/></choice></group><group name="org.apache.logging.log4j.core.appender.rolling.action.Action"><annotation><documentation>The Action interface should be implemented by any class that performs file system actions for RollingFileAppenders after the close of the active log file.</documentation></annotation><choice><element name="Delete" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.DeleteAction"/><element name="PosixViewAttribute" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.action.DeleteAction"><annotation><documentation>Rollover or scheduled action for deleting old log files that are accepted by the specified PathFilters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>an array of path conditions (if more than one, they all need to accept a path before it is deleted).</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathSorter" minOccurs="0"><annotation><documentation>a plugin implementing the apiref:org.apache.logging.log4j.core.appender.rolling.action.PathSorter[] interface</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.script.ScriptConditional" minOccurs="0"></group></sequence><attribute name="basePath" type="string"><annotation><documentation>base path from where to start scanning for files to delete.</documentation></annotation></attribute><attribute name="followLinks" type="boolean"><annotation><documentation>whether to follow symbolic links.
Default is false.</documentation></annotation></attribute><attribute name="maxDepth" type="int"><annotation><documentation>The maxDepth parameter is the maximum number of levels of directories to visit.
A value of 0 means that only the starting file is visited, unless denied by the security manager.
A value of MAX_VALUE may be used to indicate that all levels should be visited.</documentation></annotation></attribute><attribute name="testMode" type="boolean"><annotation><documentation>if true, files are not deleted but instead a message is printed to the status logger at INFO level.
Users can use this to do a dry run to test if their configuration works as expected.
Default is false.</documentation></annotation></attribute></complexType><simpleType name="org.apache.logging.log4j.core.appender.rolling.action.Duration"><annotation><documentation>Simplified implementation of the ISO-8601 Durations standard.
The supported format is `PnDTnHnMnS`, with 'P' and 'T' optional.
Days are considered to be exactly 24 hours.
Similarly to the `java. time. Duration` class, this class does not support year or month sections in the format.
This implementation does not support fractions or negative values.</documentation></annotation><restriction base="string"></restriction></simpleType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"><annotation><documentation>PathCondition that accepts paths after some count threshold is exceeded during the file tree walk.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="exceeds" type="int"><annotation><documentation>The threshold count from which files will be deleted.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileSize"><annotation><documentation>PathCondition that accepts paths after the accumulated file size threshold is exceeded during the file tree walk.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="exceeds" type="string"><annotation><documentation>The threshold accumulated file size from which files will be deleted.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAll"><annotation><documentation>Composite `PathCondition` that only accepts objects that are accepted by _all_ component conditions.
Corresponds to logical "AND".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The component filters.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfAny"><annotation><documentation>Composite `PathCondition` that accepts objects that are accepted by _any_ component conditions.
Corresponds to logical "OR".</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>The component conditions.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfFileName"><annotation><documentation>PathCondition that accepts files for deletion if their relative path matches either a glob pattern or a regular expression.
If both a regular expression and a glob pattern are specified the glob pattern is used and the regular expression is ignored.
The regular expression is a pattern as defined by the apiref:java.util.regex.Pattern[] class.
A glob is a simplified pattern expression described in apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested conditions to evaluate if this condition accepts a path</documentation></annotation></group></sequence><attribute name="glob" type="string"><annotation><documentation>the baseDir-relative path pattern of the files to delete (may contain '*' and '?' wildcarts)</documentation></annotation></attribute><attribute name="regex" type="string"><annotation><documentation>the regular expression that matches the baseDir-relative path of the file(s) to delete</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfLastModified"><annotation><documentation>PathCondition that accepts paths that are older than the specified duration.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="age" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.Duration"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.rolling.action.IfNot"><annotation><documentation>Wrapper `PathCondition` that accepts objects that are rejected by the wrapped component filter.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0"><annotation><documentation>The condition to negate.</documentation></annotation></group></sequence></complexType><group name="org.apache.logging.log4j.core.appender.rolling.action.PathCondition"><annotation><documentation>Filter that accepts or rejects a candidate `Path` for deletion.</documentation></annotation><choice><element name="IfAccumulatedFileCount" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"/><element name="IfAccumulatedFileSize" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileSize"/><element name="IfAll" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfAll"/><element name="IfAny" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfAny"/><element name="IfFileName" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfFileName"/><element name="IfLastModified" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfLastModified"/><element name="IfNot" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.IfNot"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.action.PathSortByModificationTime"><annotation><documentation>apiref:org.apache.logging.log4j.core.appender.rolling.action.PathSorter[] that sorts path by their LastModified attribute.</documentation></annotation><attribute name="recentFirst" type="boolean"><annotation><documentation>if true, most recently modified paths should come first.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.rolling.action.PathSorter"><annotation><documentation>Defines the interface of classes that can sort Paths.</documentation></annotation><choice><element name="SortByModificationTime" type="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathSortByModificationTime"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction"><annotation><documentation>File POSIX attribute view action.
Allow to define file permissions, user and group for log files on POSIX supported OS.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Define path conditions to filter files in apiref:org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction#getBasePath()[].</documentation></annotation></group></sequence><attribute name="basePath" type="string"><annotation><documentation>Define base path to apply condition before execute POSIX file attribute action.</documentation></annotation></attribute><attribute name="fileGroup" type="string"><annotation><documentation>Define file group to apply during action execution eligible files.</documentation></annotation></attribute><attribute name="fileOwner" type="string"><annotation><documentation>Define file owner to apply during action execution eligible files.</documentation></annotation></attribute><attribute name="filePermissions" type="string"><annotation><documentation>Define file permissions in POSIX format to apply during action execution eligible files.
Example:
rw-rw-rw
r--r--r--</documentation></annotation></attribute><attribute name="followLinks" type="boolean"><annotation><documentation>True to allow synonyms links during search of eligible files.</documentation></annotation></attribute><attribute name="maxDepth" type="int"><annotation><documentation>Define max folder depth to search for eligible files to apply POSIX attribute view.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"><annotation><documentation>Policy is purging appenders that were not in use specified time in minutes</documentation></annotation><attribute name="checkInterval" type="string"><annotation><documentation>when all appenders purged, the number of increments of timeUnit to check if any appenders appeared</documentation></annotation></attribute><attribute name="timeToLive" type="string"><annotation><documentation>the number of increments of timeUnit before the Appender should be purged.</documentation></annotation></attribute><attribute name="timeUnit" type="string"><annotation><documentation>the unit of time the timeToLive and the checkInterval is expressed in.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.appender.routing.PurgePolicy"><annotation><documentation>Policy for purging routed appenders</documentation></annotation><choice><element name="IdlePurgePolicy" type="log4j:org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.routing.Route"><annotation><documentation>A Route to an appender.</documentation></annotation><attribute name="key" type="string"><annotation><documentation>The key.</documentation></annotation></attribute><attribute name="ref" type="string"><annotation><documentation>The Appender reference.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.routing.Routes"><annotation><documentation>Contains the individual Route elements.</documentation></annotation><sequence><element name="Route" type="log4j:org.apache.logging.log4j.core.appender.routing.Route" maxOccurs="unbounded"></element><group ref="log4j:org.apache.logging.log4j.core.script.Script" minOccurs="0"></group></sequence><attribute name="pattern" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.routing.RoutingAppender"><annotation><documentation>This Appender "routes" between various Appenders, some of which can be references to Appenders defined earlier in the configuration while others can be dynamically created within this Appender as required.
Routing is achieved by specifying a pattern on the Routing appender declaration.
The pattern should contain one or more substitution patterns of the form "$${[key:]token}". The pattern will be resolved each time the Appender is called using the built in StrSubstitutor and the StrLookup plugin that matches the specified key.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>If not `null`, applies the filter to all events passing through this component</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Formats the log events</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.appender.rewrite.RewritePolicy" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.routing.PurgePolicy" minOccurs="0"></group><element name="Routes" type="log4j:org.apache.logging.log4j.core.appender.routing.Routes" minOccurs="0"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>A generic list of key/value properties
The meaning of these properties depends on the component.</documentation></annotation></element><group ref="log4j:org.apache.logging.log4j.core.script.Script" minOccurs="0"></group></sequence><attribute name="ignoreExceptions" type="boolean"><annotation><documentation>Determines whether to propagate logging exceptions
If set to `true` (default), exceptions that occur during logging will appear in the status logger.
If set to `false`, exceptions will be propagates to the caller.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the appender to use in references</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.async.ArrayBlockingQueueFactory"><annotation><documentation>Factory for creating instances of apiref:java.util.concurrent.ArrayBlockingQueue[].</documentation></annotation></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="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.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)
* `err` for using standard error
* a string that is interpreted in order as URI, URL or the path to a local file
If the provided value is invalid, then the default destination of standard out will be used.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the configuration</documentation></annotation></attribute><attribute name="monitorInterval" type="int"><annotation><documentation>Number of seconds between polls for configuration changes</documentation></annotation></attribute><attribute name="schema" type="string"><annotation><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="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:
. A system property named "log4j.
configurationFactory" can be set with the name of the ConfigurationFactory to be used.
. A apiref:org.apache.logging.log4j.plugins.di.ConfigurableInstanceFactory[] binding for ConfigurationFactory may be registered.
. A ConfigurationFactory implementation can be added to the classpath and configured as a plugin in the apiref:org.apache.logging.log4j.core.config.ConfigurationFactory#NAMESPACE[ConfigurationFactory] category.
The apiref:org.apache.logging.log4j.core.config.Order[] annotation should be used to configure the factory to be the first one inspected.
See apiref:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory[] for an example.
If the ConfigurationFactory that was added returns null on a call to getConfiguration then any other ConfigurationFactories found as plugins will be called in their respective order.
DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="JavaPropsConfigurationFactory" type="log4j:org.apache.logging.log4j.config.properties.JavaPropsConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.config.yaml.YamlConfigurationFactory"/><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><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="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><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><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="SystemPropertyArbiter" type="log4j:org.apache.logging.log4j.core.config.arbiters.SystemPropertyArbiter"/><element name="ScriptArbiter" type="log4j:org.apache.logging.log4j.script.config.arbiter.ScriptArbiter"/></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.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="JavaPropsConfigurationFactory" type="log4j:org.apache.logging.log4j.config.properties.JavaPropsConfigurationFactory"/><element name="YamlConfigurationFactory" type="log4j:org.apache.logging.log4j.config.yaml.YamlConfigurationFactory"/><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"/><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><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.ByteArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `byte[]`.
The supported formats are:
* 0x0123456789ABCDEF
* Base64:ABase64String
* String using apiref:java.nio.charset.Charset#defaultCharset()[] [TODO Should this be UTF-8 instead?
]</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `char[]`.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharsetConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.nio.charset.Charset[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.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.CoreTypeConverters.CronExpressionConverter"></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.PathConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.nio.file.Path[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.PatternConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.util.regex.Pattern[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.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.CoreTypeConverters.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.convert.CoreTypeConverters.ZoneIdConverter"></complexType><complexType name="org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory"><annotation><documentation>Factory to construct an XmlConfiguration.</documentation></annotation></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="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="ScriptFilter" type="log4j:org.apache.logging.log4j.script.filter.ScriptFilter"/></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="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="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"/><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="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="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/></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.
For example, the following configuration limits the number of INFO level (as well as DEBUG and TRACE) log statements that can be sent to the console to a burst of 100 with an average rate of 16 per second.
WARN, ERROR and FATAL messages would continue to be delivered.
`&lt;Console name="console"&gt; &lt;PatternLayout pattern="%-5p %d{dd-MMM-yyyy HH:mm:ss} %x %t %m%n"/&gt; &lt;Filters&gt; &lt;BurstFilter level="INFO" rate="16" maxBurst="100"/&gt; &lt;/Filters&gt; &lt;/Console&gt;`</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the logging level to use.</documentation></annotation></attribute><attribute name="maxBurst" type="long"><annotation><documentation>Sets the maximum number of events that can occur before events are filtered for exceeding the average rate.</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.
The default is Result.
DENY.</documentation></annotation></attribute><attribute name="rate" type="float"><annotation><documentation>Sets the average number of events per second to allow.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.CompositeFilter"><annotation><documentation>Composes and invokes one or more filters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Filters to call.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.core.filter.DenyAllFilter"><annotation><documentation>This filter causes all logging events to be dropped.</documentation></annotation><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.
The default is Result.
DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.DynamicThresholdFilter"><annotation><documentation>Compares against a log level that is associated with a context value.
By default the context is the apiref:org.apache.logging.log4j.ThreadContext[], but users may apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure] a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which obtains context data from some other source.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="defaultThreshold" type="log4j:org.apache.logging.log4j.Level"></attribute><attribute name="key" type="string"></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.
The default is Result.
DENY.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.filter.Filterable"><annotation><documentation>Interface implemented by Classes that allow filtering to occur.
Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name="Failover" type="log4j:org.apache.logging.log4j.core.appender.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="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"/><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="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="JDBC" type="log4j:org.apache.logging.log4j.jdbc.appender.JdbcAppender"/><element name="ScriptAppenderSelector" type="log4j:org.apache.logging.log4j.script.appender.ScriptAppenderSelector"/></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.
The default is Result.
DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.LevelRangeFilter"><annotation><documentation>This filter returns the apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] result if the level of the apiref:org.apache.logging.log4j.core.LogEvent[] is in the range of the configured apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] values, otherwise it returns the apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] result.
The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#minLevel[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] are set to apiref:org.apache.logging.log4j.Level#OFF[] and apiref:org.apache.logging.log4j.Level#ALL[], respectively.
The default values for apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMatch[] and apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] are set to apiref:org.apache.logging.log4j.core.filter.Result#NEUTRAL[] and apiref:org.apache.logging.log4j.core.filter.Result#DENY[], respectively.
The levels get compared by their associated integral values; apiref:org.apache.logging.log4j.Level#OFF[] has an integral value of 0, apiref:org.apache.logging.log4j.Level#FATAL[] 100, apiref:org.apache.logging.log4j.Level#ERROR[] 200, and so on.
For example, if the filter is configured with apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#maxLevel[] set to apiref:org.apache.logging.log4j.Level#INFO[], the filter will return apiref:org.apache.logging.log4j.core.filter.LevelRangeFilter#onMismatch[] result for apiref:org.apache.logging.log4j.core.LogEvent[]s of level with higher integral values; apiref:org.apache.logging.log4j.Level#DEBUG[], apiref:org.apache.logging.log4j.Level#TRACE[], etc.</documentation></annotation><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.
Defaults to Result.
NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>Sets the Result to return when the filter does not match.
The default is Result.
DENY.</documentation></annotation></attribute><attribute name="pollInterval" type="long"><annotation><documentation>Set the frequency in seconds that changes to the list a ThreadContext valudes should be checked.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.NoMarkerFilter"><annotation><documentation>This filter returns the onMatch result if there is no marker in the LogEvent.</documentation></annotation><attribute name="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.
The default is Result.
DENY.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.RegexFilter"><annotation><documentation>This filter returns the onMatch result if the message matches the regular expression.
The "useRawMsg" attribute can be used to indicate whether the regular expression should be applied to the result of calling Message.
getMessageFormat (true) or Message.
getFormattedMessage() (false). The default is false.</documentation></annotation><sequence></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform when a mismatch occurs.</documentation></annotation></attribute><attribute name="regex" type="string"><annotation><documentation>The regular expression to match.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.StringMatchFilter"><annotation><documentation>This filter returns the onMatch result if the message in the event matches the specified text exactly.</documentation></annotation><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.
The default is Result.
DENY.</documentation></annotation></attribute><attribute name="text" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.StructuredDataFilter"><annotation><documentation>Filter based on data in a StructuredDataMessage.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Key and value pairs.</documentation></annotation></element></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to perform on a mismatch.</documentation></annotation></attribute><attribute name="operator" type="string"><annotation><documentation>The operator to perform.
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"><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.
The default is Result.
DENY.</documentation></annotation></attribute><attribute name="operator" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.ThresholdFilter"><annotation><documentation>This filter returns the onMatch result if the level in the LogEvent is the same or more specific than the configured level and the onMismatch value otherwise.
For example, if the ThresholdFilter is configured with Level ERROR and the LogEvent contains Level DEBUG then the onMismatch value will be returned since ERROR events are more specific than DEBUG.
The default Level is ERROR.</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log Level.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><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"></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.
The default is Result.
DENY.</documentation></annotation></attribute><attribute name="start" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.layout.AbstractLayout"><annotation><documentation>Abstract base class for Layouts.</documentation></annotation><choice><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="PatternLayout" type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element name="Rfc5424Layout" type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractStringLayout"><annotation><documentation>Abstract base class for Layouts that result in a String.
Since 2.4.1, this class has custom logic to convert ISO-8859-1 or US-ASCII Strings to byte[] arrays to improve performance: all characters are simply cast to bytes.</documentation></annotation><choice><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="PatternLayout" type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element name="Rfc5424Layout" type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.Encoder"><annotation><documentation>Objects implementing the `Encoder` interface know how to convert an object to some binary representation and write the result to a `ByteBuffer`, ideally without creating temporary objects.</documentation></annotation><choice><element name="HtmlLayout" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout"/><element name="PatternLayout" type="log4j:org.apache.logging.log4j.core.layout.PatternLayout"/><element name="Rfc5424Layout" type="log4j:org.apache.logging.log4j.core.layout.Rfc5424Layout"/><element name="SyslogLayout" type="log4j:org.apache.logging.log4j.core.layout.SyslogLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/><element name="JsonTemplateLayout" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"/></choice></group><complexType name="org.apache.logging.log4j.core.layout.HtmlLayout"><annotation><documentation>Outputs events as rows in an HTML table on an HTML page.
Appenders using this layout should have their encoding set to UTF-8 or UTF-16, otherwise events containing non ASCII characters could result in corrupted log files.</documentation></annotation><attribute name="contentType" type="string"></attribute><attribute name="datePattern" type="string"></attribute><attribute name="fontName" type="string"></attribute><attribute name="fontSize" type="log4j:org.apache.logging.log4j.core.layout.HtmlLayout.FontSize"></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="timezone" type="string"></attribute><attribute name="title" type="string"></attribute></complexType><simpleType name="org.apache.logging.log4j.core.layout.HtmlLayout.FontSize"><annotation><documentation>Possible font sizes</documentation></annotation><restriction base="string"><enumeration value="SMALLER"></enumeration><enumeration value="XXSMALL"></enumeration><enumeration value="XSMALL"></enumeration><enumeration value="SMALL"></enumeration><enumeration value="MEDIUM"></enumeration><enumeration value="LARGE"></enumeration><enumeration value="XLARGE"></enumeration><enumeration value="XXLARGE"></enumeration><enumeration value="LARGER"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.layout.LevelPatternSelector"><annotation><documentation>Selects the pattern to use based on the Level in the LogEvent.</documentation></annotation><sequence><element name="PatternMatch" type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="defaultPattern" type="string"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="noConsoleNoAnsi" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.LoggerFields"><annotation><documentation>A LoggerFields container.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of KeyValuePairs.</documentation></annotation></element></sequence><attribute name="discardIfAllFieldsAreEmpty" type="boolean"><annotation><documentation>this SD-ELEMENT should be discarded if all fields are empty</documentation></annotation></attribute><attribute name="enterpriseId" type="string"><annotation><documentation>The IANA assigned enterprise number</documentation></annotation></attribute><attribute name="sdId" type="string"><annotation><documentation>The SD-ID in an SD-ELEMENT</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.MarkerPatternSelector"><annotation><documentation>Selects the pattern to use based on the Marker in the LogEvent.</documentation></annotation><sequence><element name="PatternMatch" type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="defaultPattern" type="string"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="noConsoleNoAnsi" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.PatternLayout"><annotation><documentation>A flexible layout configurable with pattern string.
The goal of this class is to apiref:org.apache.logging.log4j.core.Layout#toByteArray[format] a apiref:org.apache.logging.log4j.core.LogEvent[] and return the results.
The format of the result depends on the _conversion pattern_.
The conversion pattern is closely related to the conversion pattern of the printf function in C. A conversion pattern is composed of literal text and format control expressions called _conversion specifiers_.
See the Log4j Manual for details on the supported pattern converters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"></group><element name="replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacement" minOccurs="0"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="footer" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="noConsoleNoAnsi" type="boolean"></attribute><attribute name="pattern" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.PatternMatch"><annotation><documentation>PatternMatch configuration item.</documentation></annotation><attribute name="key" type="string"></attribute><attribute name="pattern" type="string"></attribute></complexType><group name="org.apache.logging.log4j.core.layout.PatternSelector"><annotation><documentation>Allows different patterns to be used with the PatternLayout based on some selection criteria.</documentation></annotation><choice><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="ScriptPatternSelector" type="log4j:org.apache.logging.log4j.script.layout.ScriptPatternSelector"/></choice></group><complexType name="org.apache.logging.log4j.core.layout.Rfc5424Layout"><annotation><documentation>Formats a log event in accordance with RFC 5424.</documentation></annotation><sequence><element name="LoggerFields" type="log4j:org.apache.logging.log4j.core.layout.LoggerFields" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Container for the KeyValuePairs containing the patterns</documentation></annotation></element></sequence><attribute name="appName" type="string"><annotation><documentation>The value to use as the APP-NAME in the RFC 5424 syslog record.</documentation></annotation></attribute><attribute name="enterpriseNumber" type="int"><annotation><documentation>The IANA enterprise number.</documentation></annotation></attribute><attribute name="eventPrefix" type="string"><annotation><documentation>The prefix to add to event key names.</documentation></annotation></attribute><attribute name="exceptionPattern" type="string"><annotation><documentation>The pattern for formatting exceptions.</documentation></annotation></attribute><attribute name="facility" type="log4j:org.apache.logging.log4j.core.net.Facility"><annotation><documentation>The Facility is used to try to classify the message.</documentation></annotation></attribute><attribute name="id" type="string"><annotation><documentation>The default structured data id to use when formatting according to RFC 5424.</documentation></annotation></attribute><attribute name="includeMDC" type="boolean"><annotation><documentation>Indicates whether data from the ThreadContextMap will be included in the RFC 5424 Syslog record.
Defaults to "true:.</documentation></annotation></attribute><attribute name="mdcExcludes" type="string"><annotation><documentation>A comma separated list of MDC keys that should be excluded from the LogEvent.</documentation></annotation></attribute><attribute name="mdcId" type="string"><annotation><documentation>The id to use for the MDC Structured Data Element.</documentation></annotation></attribute><attribute name="mdcIncludes" type="string"><annotation><documentation>A comma separated list of MDC keys that should be included in the FlumeEvent.</documentation></annotation></attribute><attribute name="mdcPrefix" type="string"><annotation><documentation>The prefix to add to MDC key names.</documentation></annotation></attribute><attribute name="mdcRequired" type="string"><annotation><documentation>A comma separated list of MDC keys that must be present in the MDC.</documentation></annotation></attribute><attribute name="messageId" type="string"><annotation><documentation>The default value to be used in the MSGID field of RFC 5424 syslog records.</documentation></annotation></attribute><attribute name="newLine" type="boolean"><annotation><documentation>If true, a newline will be appended to the end of the syslog record.
The default is false.</documentation></annotation></attribute><attribute name="newLineEscape" type="string"><annotation><documentation>String that should be used to replace newlines within the message text.</documentation></annotation></attribute><attribute name="useTlsMessageFormat" type="boolean"><annotation><documentation>If true the message will be formatted according to RFC 5425.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.layout.SyslogLayout"><annotation><documentation>Formats a log event as a BSD Log record.</documentation></annotation><sequence></sequence><attribute name="facility" type="log4j:org.apache.logging.log4j.core.net.Facility"></attribute><attribute name="footer" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="newLine" type="boolean"></attribute><attribute name="newLineEscape" type="string"></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="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="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="jndi" type="log4j:org.apache.logging.log4j.jndi.lookup.JndiLookup"/><element name="k8s" type="log4j:org.apache.logging.log4j.kubernetes.KubernetesLookup"/></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.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.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.
This class represents the simplest form of a string to string map.
It has a benefit over a map in that it can create the result on demand based on the key.
For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database</documentation></annotation><choice><element name="ctx" type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element name="date" type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging.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="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="jndi" type="log4j:org.apache.logging.log4j.jndi.lookup.JndiLookup"/><element name="k8s" type="log4j:org.apache.logging.log4j.kubernetes.KubernetesLookup"/></choice></group><complexType name="org.apache.logging.log4j.core.lookup.StructuredDataLookup"><annotation><documentation>Looks up keys from apiref: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.
[cols="1,1"]
|===
h| Numerical Code
h| Facility
h| Facility
| 0
| kernel messages
| 1
| user-level messages
| 2
| mail system
| 3
| system daemons
| 4
| security/authorization messages
| 5
| messages generated internally by syslogd
| 6
| line printer subsystem
| 7
| network news subsystem
| 8
| UUCP subsystem
| 9
| clock daemon
| 10
| security/authorization messages
| 11
| FTP daemon
| 12
| NTP subsystem
| 13
| log audit
| 14
| log alert
| 15
| clock daemon (note 2)
| 16
| local use 0 (local0)
| 17
| local use 1 (local1)
| 18
| local use 2 (local2)
| 19
| local use 3 (local3)
| 20
| local use 4 (local4)
| 21
| local use 5 (local5)
| 22
| local use 6 (local6)
| 23
| local use 7 (local7)
|===</documentation></annotation><restriction base="string"><enumeration value="KERN"><annotation><documentation>Kernel messages.</documentation></annotation></enumeration><enumeration value="USER"><annotation><documentation>User level messages.</documentation></annotation></enumeration><enumeration value="MAIL"><annotation><documentation>Mail system.</documentation></annotation></enumeration><enumeration value="DAEMON"><annotation><documentation>System daemons.</documentation></annotation></enumeration><enumeration value="AUTH"><annotation><documentation>Security/Authorization messages.</documentation></annotation></enumeration><enumeration value="SYSLOG"><annotation><documentation>Messages generated by syslogd.</documentation></annotation></enumeration><enumeration value="LPR"><annotation><documentation>Line printer subsystem.</documentation></annotation></enumeration><enumeration value="NEWS"><annotation><documentation>Network news subsystem.</documentation></annotation></enumeration><enumeration value="UUCP"><annotation><documentation>UUCP subsystem.</documentation></annotation></enumeration><enumeration value="CRON"><annotation><documentation>Clock daemon.</documentation></annotation></enumeration><enumeration value="AUTHPRIV"><annotation><documentation>Security/Authorization messages.</documentation></annotation></enumeration><enumeration value="FTP"><annotation><documentation>FTP daemon.</documentation></annotation></enumeration><enumeration value="NTP"><annotation><documentation>NTP subsystem.</documentation></annotation></enumeration><enumeration value="LOG_AUDIT"><annotation><documentation>Log audit.</documentation></annotation></enumeration><enumeration value="LOG_ALERT"><annotation><documentation>Log alert.</documentation></annotation></enumeration><enumeration value="CLOCK"><annotation><documentation>Clock daemon.</documentation></annotation></enumeration><enumeration value="LOCAL0"><annotation><documentation>Local use 0.</documentation></annotation></enumeration><enumeration value="LOCAL1"><annotation><documentation>Local use 1.</documentation></annotation></enumeration><enumeration value="LOCAL2"><annotation><documentation>Local use 2.</documentation></annotation></enumeration><enumeration value="LOCAL3"><annotation><documentation>Local use 3.</documentation></annotation></enumeration><enumeration value="LOCAL4"><annotation><documentation>Local use 4.</documentation></annotation></enumeration><enumeration value="LOCAL5"><annotation><documentation>Local use 5.</documentation></annotation></enumeration><enumeration value="LOCAL6"><annotation><documentation>Local use 6.</documentation></annotation></enumeration><enumeration value="LOCAL7"><annotation><documentation>Local use 7.</documentation></annotation></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"><annotation><documentation>Advertise an entity via ZeroConf/MulticastDNS and the JmDNS library.
The length of property names and values must be 255 bytes or less.
Entries with names or values larger than 255 bytes will be removed prior to advertisement.</documentation></annotation></complexType><simpleType name="org.apache.logging.log4j.core.net.Protocol"><annotation><documentation>Enumerates the supported protocols.</documentation></annotation><restriction base="string"><enumeration value="TCP"><annotation><documentation>TCP Protocol.</documentation></annotation></enumeration><enumeration value="SSL"><annotation><documentation>SSL Protocol.</documentation></annotation></enumeration><enumeration value="UDP"><annotation><documentation>UDP Protocol.</documentation></annotation></enumeration></restriction></simpleType><simpleType name="org.apache.logging.log4j.core.net.Rfc1349TrafficClass"><annotation><documentation>Enumerates the RFC 1349 TOS field.
* `IPTOS_LOWCOST (0x02)`
* `IPTOS_RELIABILITY (0x04)`
* `IPTOS_THROUGHPUT (0x08)`
* `IPTOS_LOWDELAY (0x10)`
*</documentation></annotation><restriction base="string"><enumeration value="IPTOS_NORMAL"></enumeration><enumeration value="IPTOS_LOWCOST"></enumeration><enumeration value="IPTOS_LOWDELAY"></enumeration><enumeration value="IPTOS_RELIABILITY"></enumeration><enumeration value="IPTOS_THROUGHPUT"></enumeration></restriction></simpleType><complexType name="org.apache.logging.log4j.core.net.SocketAddress"><annotation><documentation>Plugin to hold a hostname and port (socket address).</documentation></annotation><attribute name="port" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.core.net.SocketOptions"><annotation><documentation>Holds all socket options settable via apiref:java.net.Socket[] methods.</documentation></annotation><sequence><element name="SocketPerformancePreferences" type="log4j:org.apache.logging.log4j.core.net.SocketPerformancePreferences" minOccurs="0"></element></sequence><attribute name="rfc1349TrafficClass" type="log4j:org.apache.logging.log4j.core.net.Rfc1349TrafficClass"></attribute></complexType><complexType name="org.apache.logging.log4j.core.net.SocketPerformancePreferences"><annotation><documentation>Holds all socket options settable via apiref:java.net.Socket#setPerformancePreferences(int,int,int)[].
The apiref:java.net.Socket#setPerformancePreferences(int,int,int)[] API may not be implemented by a JRE.</documentation></annotation><attribute name="bandwidth" type="int"></attribute><attribute name="connectionTime" type="int"></attribute><attribute name="latency" type="int"></attribute></complexType><group name="org.apache.logging.log4j.core.net.ssl.AbstractKeyStoreConfiguration"><annotation><documentation>Configuration of the KeyStore</documentation></annotation><choice><element name="KeyStore" type="log4j:org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"/><element name="TrustStore" type="log4j:org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"/></choice></group><complexType name="org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"><annotation><documentation>Configuration of the KeyStore</documentation></annotation><attribute name="keyManagerFactoryAlgorithm" type="string"><annotation><documentation>The standard name of the requested algorithm.
See the Java Secure Socket Extension Reference Guide for information about these names.</documentation></annotation></attribute><attribute name="location" type="string"><annotation><documentation>The location of the KeyStore, a file path, URL or resource.</documentation></annotation></attribute><attribute name="password" type="string"><annotation><documentation>The password to access the KeyStore.</documentation></annotation></attribute><attribute name="passwordEnvironmentVariable" type="string"></attribute><attribute name="passwordFile" type="string"></attribute><attribute name="type" type="string"><annotation><documentation>The KeyStore type, null defaults to `"JKS"`.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.net.ssl.SslConfiguration"><annotation><documentation>SSL Configuration</documentation></annotation><sequence><element name="KeyStore" type="log4j:org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration" minOccurs="0"><annotation><documentation>The KeyStoreConfiguration.</documentation></annotation></element><element name="TrustStore" type="log4j:org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration" minOccurs="0"><annotation><documentation>The TrustStoreConfiguration.</documentation></annotation></element></sequence><attribute name="protocol" type="string"><annotation><documentation>The protocol, see http://docs.
oracle.
com/javase/7/docs/technotes/guides/security/StandardNames.
html#SSLContext</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.net.ssl.StoreConfiguration"><choice><element name="KeyStore" type="log4j:org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"/><element name="TrustStore" type="log4j:org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"/></choice></group><complexType name="org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"><annotation><documentation>Configuration of the TrustStore</documentation></annotation><attribute name="location" type="string"><annotation><documentation>The location of the KeyStore, a file path, URL or resource.</documentation></annotation></attribute><attribute name="password" type="string"><annotation><documentation>The password to access the KeyStore.</documentation></annotation></attribute><attribute name="passwordEnvironmentVariable" type="string"></attribute><attribute name="passwordFile" type="string"></attribute><attribute name="trustManagerFactoryAlgorithm" type="string"><annotation><documentation>The standard name of the requested trust management algorithm.
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="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.
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.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"><annotation><documentation>Blue style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"><annotation><documentation>Cyan style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Green"><annotation><documentation>Green style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Magenta"><annotation><documentation>Magenta style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Red"><annotation><documentation>Red style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.White"><annotation><documentation>White style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Yellow"><annotation><documentation>Yellow style pattern converter.
Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.AnsiConverter"><annotation><documentation>Marks classes that implement ANSI escape code conversions.</documentation></annotation><choice><element name="highlight" type="log4j:org.apache.logging.log4j.core.pattern.HighlightConverter"/><element name="style" type="log4j:org.apache.logging.log4j.core.pattern.StyleConverter"/></choice></group><group name="org.apache.logging.log4j.core.pattern.ArrayPatternConverter"><annotation><documentation>apiref:org.apache.logging.log4j.core.pattern.PatternConverter[]s implement this interface to accept an array of objects when formatting.</documentation></annotation><choice><element name="DatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.DatePatternConverter"/><element name="FileDatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileDatePatternConverter"/><element name="IntegerPatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.IntegerPatternConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"><annotation><documentation>Formats the class name of the site of the logging request.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.DatePatternConverter"><annotation><documentation>Converts and formats the event's date in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.EncodingPatternConverter"><annotation><documentation>Converter that encodes the output from a pattern using a specified format.
Supported formats include HTML (default) and JSON.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"><annotation><documentation>Formats the EndOfBatch.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.pattern.EqualsBaseReplacementConverter"><annotation><documentation>Equals pattern converter.</documentation></annotation><choice><element name="equalsIgnoreCase" type="log4j:org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"/><element name="equals" type="log4j:org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"/></choice></group><complexType name="org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"><annotation><documentation>Equals ignore case pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"><annotation><documentation>Equals pattern converter.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"><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.FileDatePatternConverter"><annotation><documentation>Formats a date by delegating to apiref:org.apache.logging.log4j.core.pattern.DatePatternConverter[].
The default date pattern for a %d specifier in a file name is different than the %d pattern in pattern layout.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"><annotation><documentation>Returns the event's line location information in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"><annotation><documentation>Format the event's line location information.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.HighlightConverter"><annotation><documentation>Highlight pattern converter.
Formats the result of a pattern using a color appropriate for the Level in the LogEvent.
For example:
[source,java]
----
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}
----
You can define custom colors for each Level:
[source,java]
----
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=cyan,
TRACE=black}
----
You can use a predefined style:
[source,java]
----
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT}
----
The available predefined styles are:
* `Default`
* `Log4j` - The same as `Default`
* `Logback`
You can use whitespace around the comma and equal sign.
The names in values MUST come from the apiref:org.apache.logging.log4j.core.pattern.AnsiEscape[] enum, case is normalized to upper-case internally.
To disable ANSI output unconditionally, specify an additional option `disableAnsi=true`, or to disable ANSI output if no console is detected, specify option `noConsoleNoAnsi=true` e.g..
[source,java]
----
%highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT, noConsoleNoAnsi=true}
----</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.IntegerPatternConverter"><annotation><documentation>Formats an integer.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LevelPatternConverter"><annotation><documentation>Returns the event's level in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.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="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.
Limit contained text to a maximum length.
On invalid length the default value 100 is used (and an error message is logged). If max length is greater than 20, an abbreviated text will get ellipsis ("...") appended.
Example usage (for email subject): `"%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =&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="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="FileDatePatternConverter" type="log4j:org.apache.logging.log4j.core.pattern.FileDatePatternConverter"/><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.
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.Script"><choice><element name="ScriptFile" type="log4j:org.apache.logging.log4j.script.ScriptFile"/><element name="Script" type="log4j:org.apache.logging.log4j.script.ScriptPlugin"/><element name="ScriptRef" type="log4j:org.apache.logging.log4j.script.ScriptRef"/></choice></group><group name="org.apache.logging.log4j.core.script.ScriptConditional"><choice><element name="ScriptCondition" type="log4j:org.apache.logging.log4j.script.appender.rolling.action.ScriptCondition"/></choice></group><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><complexType name="org.apache.logging.log4j.core.util.KeyValuePair"><annotation><documentation>Key/Value pair configuration item.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.util.SecretKeyProvider"><choice><element name="FlumeKeyProvider" type="log4j:org.apache.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><group name="org.apache.logging.log4j.csv.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.csv.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.csv.layout.CsvParameterLayout"/></choice></group><complexType name="org.apache.logging.log4j.csv.layout.CsvLogEventLayout"><annotation><documentation>A Comma-Separated Value (CSV) layout to log events.
Depends on Apache Commons CSV 1.2.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.csv.layout.CsvParameterLayout"><annotation><documentation>A Comma-Separated Value (CSV) layout to log event parameters.
The event message is currently ignored.
Best used with:
`logger. debug(new ObjectArrayMessage(1, 2, "Bob"));` Depends on Apache Commons CSV 1.4.</documentation></annotation><attribute name="footer" type="string"></attribute><attribute name="format" type="string"></attribute><attribute name="header" type="string"></attribute><attribute name="nullString" type="string"></attribute><attribute name="quoteMode" type="log4j:org.apache.commons.csv.QuoteMode"></attribute><attribute name="recordSeparator" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.dbcp2.appender.PoolableConnectionFactoryConfig"><annotation><documentation>Configures an Apache Commons DBCP apiref:org.apache.commons.dbcp2.PoolableConnectionFactory[].</documentation></annotation><sequence></sequence><attribute name="autoCommitOnReturn" type="boolean"></attribute><attribute name="cacheState" type="boolean"></attribute><attribute name="defaultCatalog" type="string"></attribute><attribute name="defaultTransactionIsolation" type="int"></attribute><attribute name="fastFailValidation" type="boolean"></attribute><attribute name="maxConnLifetimeMillis" type="long"></attribute><attribute name="maxOpenPreparedStatements" type="int"></attribute><attribute name="poolStatements" type="boolean"></attribute><attribute name="rollbackOnReturn" type="boolean"></attribute><attribute name="validationQuery" type="string"></attribute><attribute name="validationQueryTimeoutSeconds" type="int"></attribute></complexType><complexType name="org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] that uses a JDBC connection string, a user name, and a password to call apiref:java.sql.DriverManager#getConnection(String,String,String)[].
The connections are served from an Apache Commons DBCP pooling driver.</documentation></annotation><sequence><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="PoolableConnectionFactory" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolableConnectionFactoryConfig" minOccurs="0"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driverClassName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="poolName" type="string"></attribute><attribute name="userName" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.docker.DockerLookup"><annotation><documentation>Looks up keys for a Docker container.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.flume.test.FlumeKeyProvider"></complexType><group name="org.apache.logging.log4j.jdbc.appender.AbstractConnectionSource"><choice><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element name="DataSource" type="log4j:org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.jdbc.appender.FactoryMethodConnectionSource"/></choice></group><group name="org.apache.logging.log4j.jdbc.appender.AbstractDriverManagerConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] that uses a JDBC connection string, a user name, and a password to call apiref:java.sql.DriverManager#getConnection(String,String,String)[].
This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><choice><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/></choice></group><complexType name="org.apache.logging.log4j.jdbc.appender.ColumnConfig"><annotation><documentation>A configuration element used to configure which event properties are logged to which columns in the database table.</documentation></annotation><attribute name="isClob" type="boolean"></attribute><attribute name="isEventTimestamp" type="boolean"></attribute><attribute name="isUnicode" type="boolean"></attribute><attribute name="literal" type="string"><annotation><documentation>The literal value to insert into the column as-is without any quoting or escaping.
Mutually exclusive with `pattern! =null` and `eventTimestamp=true`.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>The name of the database column as it exists within the database table.</documentation></annotation></attribute><attribute name="pattern" type="string"><annotation><documentation>The apiref:org.apache.logging.log4j.core.layout.PatternLayout[] pattern to insert in this column.
Mutually exclusive with `literal! =null` and `eventTimestamp=true`</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.jdbc.appender.ConnectionSource"><annotation><documentation>Configuration element for apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[].
If you want to use the apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[] but none of the provided connection sources meet your needs, you can simply create your own connection source.</documentation></annotation><choice><element name="PoolingDriver" type="log4j:org.apache.logging.log4j.dbcp2.appender.PoolingDriverConnectionSource"/><element name="DataSource" type="log4j:org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"/><element name="DriverManager" type="log4j:org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"/><element name="ConnectionFactory" type="log4j:org.apache.logging.log4j.jdbc.appender.FactoryMethodConnectionSource"/></choice></group><complexType name="org.apache.logging.log4j.jdbc.appender.DataSourceConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[] connection source that uses a apiref:javax.sql.DataSource[] to connect to the database.</documentation></annotation><attribute name="jndiName" type="string"><annotation><documentation>The full JNDI path where the data source is bound.
Must start with java:/comp/env or environment-equivalent.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.jdbc.appender.DriverManagerConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] that uses a JDBC connection string, a user name, and a password to call apiref:java.sql.DriverManager#getConnection(String,String,String)[].
This plugin does not provide any connection pooling unless it is available through the connection string and driver itself.
This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><sequence><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driverClassName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="userName" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.jdbc.appender.FactoryMethodConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.jdbc.appender.JdbcAppender[] connection source that uses a public static factory method to obtain a apiref:java.sql.Connection[] or apiref:javax.sql.DataSource[].</documentation></annotation><attribute name="class" type="string"><annotation><documentation>The name of a public class that contains a static method capable of returning either a apiref:javax.sql.DataSource[] or a apiref:java.sql.Connection[].</documentation></annotation></attribute><attribute name="method" type="string"><annotation><documentation>The name of the public static method on the aforementioned class that returns the data source or connection.
If this method returns a apiref:java.sql.Connection[], it should return a new connection every call.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.jdbc.appender.JdbcAppender"><annotation><documentation>This Appender writes logging events to a relational database using standard JDBC mechanisms.
It takes a list of apiref:org.apache.logging.log4j.jdbc.appender.ColumnConfig[]s and/or apiref:org.apache.logging.log4j.core.appender.db.ColumnMapping[]s with which it determines how to save the event data into the appropriate columns in the table.
ColumnMapping is new as of Log4j 2.8 and supports apiref:org.apache.logging.log4j.plugins.convert.TypeConverter[type conversion] and persistence using apiref:java.sql.PreparedStatement#setObject(int,Object)[]. A apiref:org.apache.logging.log4j.jdbc.appender.ConnectionSource[] plugin instance instructs the appender (and apiref:org.apache.logging.log4j.jdbc.appender.JdbcDatabaseManager[]) how to connect to the database.
This appender can be reconfigured at run time.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="ColumnMapping" type="log4j:org.apache.logging.log4j.core.appender.db.ColumnMapping" minOccurs="0" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="Column" type="log4j:org.apache.logging.log4j.jdbc.appender.ColumnConfig" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>Information about the columns that log event data should be inserted into and how to insert that data.</documentation></annotation></element><group ref="log4j:org.apache.logging.log4j.jdbc.appender.ConnectionSource"><annotation><documentation>The connections source from which database connections should be retrieved.</documentation></annotation></group></sequence><attribute name="bufferSize" type="int"><annotation><documentation>If an integer greater than 0, this causes the appender to buffer log events and flush whenever the buffer reaches this size.</documentation></annotation></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="immediateFail" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="reconnectIntervalMillis" type="long"></attribute><attribute name="tableName" type="string"><annotation><documentation>The name of the database table to insert log events into.</documentation></annotation></attribute><attribute name="truncateStrings" type="boolean"></attribute></complexType><complexType name="org.apache.logging.log4j.jndi.lookup.JndiLookup"><annotation><documentation>Looks up keys from JNDI resources.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.kubernetes.KubernetesLookup"><annotation><documentation>Retrieve various Kubernetes attributes.
Supported keys are: accountName, containerId, containerName, clusterName, host, hostIp, labels, labels.
app, labels.
podTemplateHash, masterUrl, namespaceId, namespaceName, podId, podIp, podName, imageId, imageName.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.layout.template.json.JsonTemplateLayout"><sequence><element name="EventTemplateAdditionalField" type="log4j:org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="eventDelimiter" type="string"></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="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><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><group name="org.apache.logging.log4j.plugins.convert.TypeConverter"><choice><element name="BigDecimalConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.BigDecimalConverter"/><element name="BigIntegerConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.BigIntegerConverter"/><element name="ByteArrayConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.ByteArrayConverter"/><element name="CharArrayConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharArrayConverter"/><element name="CharsetConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CharsetConverter"/><element name="ClassConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.ClassConverter"/><element name="CronExpressionConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.CronExpressionConverter"/><element name="DurationConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.DurationConverter"/><element name="FileConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.FileConverter"/><element name="InetAddressConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.InetAddressConverter"/><element name="LevelConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.LevelConverter"/><element name="PathConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.PathConverter"/><element name="PatternConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.PatternConverter"/><element name="SecurityProviderConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.SecurityProviderConverter"/><element name="UriConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.UriConverter"/><element name="UrlConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.UrlConverter"/><element name="UuidConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.UuidConverter"/><element name="ZoneIdConverter" type="log4j:org.apache.logging.log4j.core.config.plugins.convert.CoreTypeConverters.ZoneIdConverter"/><element name="CustomTestClass1Converter1" type="log4j:org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass1Converter1"/><element name="CustomTestClass1Converter2" type="log4j:org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass1Converter2"/><element name="CustomTestClass2Converter1" type="log4j:org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass2Converter1"/><element name="CustomTestClass2Converter2" type="log4j:org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass2Converter2"/></choice></group><complexType name="org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass1Converter1"></complexType><complexType name="org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass1Converter2"></complexType><complexType name="org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass2Converter1"></complexType><complexType name="org.apache.logging.log4j.plugins.convert.TypeConverterRegistryTest.CustomTestClass2Converter2"></complexType><group name="org.apache.logging.log4j.plugins.util.Builder"><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><group name="org.apache.logging.log4j.script.AbstractScript"><annotation><documentation>Container for the language and body of a script.</documentation></annotation><choice><element name="ScriptFile" type="log4j:org.apache.logging.log4j.script.ScriptFile"/><element name="Script" type="log4j:org.apache.logging.log4j.script.ScriptPlugin"/><element name="ScriptRef" type="log4j:org.apache.logging.log4j.script.ScriptRef"/></choice></group><complexType name="org.apache.logging.log4j.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.script.ScriptPlugin"><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.script.ScriptRef"><annotation><documentation>Contains a reference to a script defined elsewhere in the configuration.</documentation></annotation><attribute name="ref" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.script.ScriptsPlugin"><annotation><documentation>A container of Scripts.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.script.AbstractScript" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array of Scripts.</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.script.appender.ScriptAppenderSelector"><sequence><element name="AppenderSet" type="log4j:org.apache.logging.log4j.core.appender.AppenderSet"></element><group ref="log4j:org.apache.logging.log4j.script.AbstractScript"></group></sequence><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.script.appender.rolling.action.ScriptCondition"><annotation><documentation>A condition of the apiref:org.apache.logging.log4j.script.appender.rolling.action.DeleteAction[] where a user-provided script selects the files to delete from a provided list.
The specified script may be a apiref:org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.script.appender.rolling.action.ScriptFile[] or a apiref:org.apache.logging.log4j.script.ScriptRef[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.Script" minOccurs="0"><annotation><documentation>The script to run.
This may be a apiref:org.apache.logging.log4j.core.script.Script[], a apiref:org.apache.logging.log4j.script.appender.rolling.action.ScriptFile[] or a apiref:org.apache.logging.log4j.script.ScriptRef[]. The script must return a `List&lt;PathWithAttributes&gt;`. When the script is executed, it is provided the following bindings:
* basePath - the directory from where the apiref:org.apache.logging.log4j.script.appender.rolling.action.DeleteAction[Delete] action started scanning for files to delete.
Can be used to relativize the paths in the pathList.
* pathList - a `java. util. List` containing apiref:org.apache.logging.log4j.script.appender.rolling.action.PathWithAttribute[] objects.
(The script is free to modify and return this list.
)
* substitutor - a apiref:org.apache.logging.log4j.script.appender.rolling.action.StrSubstitutor[] that can be used to look up variables embedded in the base dir or other properties
* statusLogger - the apiref:org.apache.logging.log4j.status.StatusLogger[] that can be used to log events during script execution
* any properties declared in the configuration</documentation></annotation></group></sequence></complexType><complexType name="org.apache.logging.log4j.script.config.arbiter.ScriptArbiter"><annotation><documentation>Condition that evaluates a script.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.script.filter.ScriptFilter"><annotation><documentation>Returns the onMatch result if the script returns True and returns the onMismatch value otherwise.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.script.Script" minOccurs="0"><annotation><documentation>The script to run.
The script must return a boolean value.
Either script or scriptFile must be provided.</documentation></annotation></group></sequence><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if a match occurs.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take if no match occurs.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.script.layout.ScriptPatternSelector"><annotation><documentation>Selects the pattern to use based on the result of executing a Script.
The returned value will be used as the "key" to choose between one of the configured patterns.
If no key is returned or there is no match the default pattern will be used.</documentation></annotation><sequence><element name="PatternMatch" type="log4j:org.apache.logging.log4j.core.layout.PatternMatch" minOccurs="0" maxOccurs="unbounded"></element><group ref="log4j:org.apache.logging.log4j.script.AbstractScript" minOccurs="0"></group></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="defaultPattern" type="string"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="noConsoleNoAnsi" type="boolean"></attribute></complexType></schema>