This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-site.git
The following commit(s) were added to refs/heads/main by this push: new f54a7d77 Re-generate `log4j-config-2.23.1.xsd` with `@PluginValue` fix (apache/logging-log4j-tools#123) f54a7d77 is described below commit f54a7d77fa9ed356636d76c29f20d70425a35e77 Author: Volkan Yazıcı <vol...@yazi.ci> AuthorDate: Thu May 9 14:01:12 2024 +0200 Re-generate `log4j-config-2.23.1.xsd` with `@PluginValue` fix (apache/logging-log4j-tools#123) --- xml/ns/log4j-config-2.23.1.xsd | 46 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/xml/ns/log4j-config-2.23.1.xsd b/xml/ns/log4j-config-2.23.1.xsd index 1262a252..ff757cf7 100644 --- a/xml/ns/log4j-config-2.23.1.xsd +++ b/xml/ns/log4j-config-2.23.1.xsd @@ -6,7 +6,7 @@ Addresses without a port (or port set to 0) will use the default Cassandra port Can be used with or without batch statements.</documentation></annotation></attribute><attribute name="clusterName" type="string"></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="keyspace" type="string"></attribute><attribute name="name" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="table" type="string"></attribute><attribute name="useClockForTimestampGenerator" type="boolean"><annotation><documen [...] -Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name= [...] +Wraps a apiref:org.apache.logging.log4j.core.LifeCycle.State[].</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name= [...] An Appender can contain a apiref:org.apache.logging.log4j.core.Layout[] if applicable as well as an apiref:org.apache.logging.log4j.core.ErrorHandler[]. Typical Appender implementations coordinate with an implementation of apiref:org.apache.logging.log4j.core.appender.AbstractManager[] to handle external resources such as streams, connections, and other shared state. As Appenders are plugins, concrete implementations need to be annotated with apiref:org.apache.logging.log4j.core.config.plugins.Plugin[] and need to provide a static factory method annotated with apiref:org.apache.logging.log4j.core.config.plugins.PluginFactory[]. @@ -15,7 +15,7 @@ Most core plugins are written using a related Manager class that handle the actu For instance, many Appenders can take advantage of the apiref:org.apache.logging.log4j.core.appender.OutputStreamManager[] class. It is recommended that Appenders don't do any heavy lifting since there can be many instances of the class being used at any given time. -When resources require locking (e.g., through apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is important to isolate synchronized code to prevent concurrency issues.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAp [...] +When resources require locking (e.g., through apiref:org.apache.logging.log4j.core.java.nio.channels.FileLock[]), it is important to isolate synchronized code to prevent concurrency issues.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAp [...] It is highly recommended that applications make use of the Filters provided with this implementation before creating their own. @@ -35,11 +35,11 @@ In Log4j, the main interface for handling the life cycle context of an object is An object first starts in the apiref:org.apache.logging.log4j.core.State#INITIALIZED[] state by default to indicate the class has been loaded. From here, calling the apiref:org.apache.logging.log4j.core.LifeCycle#start()[] method will change this state to apiref:org.apache.logging.log4j.core.State#STARTING[]. After successfully being started, this state is changed to apiref:org.apache.logging.log4j.core.State#STARTED[]. When the apiref:org.apache.logging.log4j.core.LifeCycle#stop()[] is called, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPING[] state. After successfully being stopped, this goes into the apiref:org.apache.logging.log4j.core.State#STOPPED[] state. -In most circumstances, implementation classes should store their apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[] dependent on synchronization and concurrency requirements.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.Asy [...] +In most circumstances, implementation classes should store their apiref:org.apache.logging.log4j.core.State[] in a `volatile` field or inside an apiref:org.apache.logging.log4j.core.java.util.concurrent.atomic.AtomicReference[] dependent on synchronization and concurrency requirements.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.Asy [...] -This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name [...] +This interface should be merged with the super-interface in 3.0.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoOpAppender"/><element name [...] -Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.Cou [...] +Although Appenders do not have to extend this class, doing so will simplify their implementation.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.Cou [...] The stream encoding is defined in the layout.</documentation></annotation><choice><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="File" type="log4j:org.apache.logging.log4j.core.appender.FileAppender"/><element name="MemoryMappedFile" type="log4j:org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"/><element name="OutputStream" type="log4j:org.apache.logging.log4j.core.appender.OutputStreamAppender"/><element name="R [...] @@ -53,7 +53,7 @@ TODO Accessing `System. out` or `System. err` as a byte stream instead of a writ Typically, a Layout will generate a String and then call getBytes which may use a configured encoding or the system default. OTOH, a Writer cannot print byte streams.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="bufferSize" type="int"></attribute><attribute name="bufferedIo" type="boolean"></attribute><attrib [...] -Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter (optional).</documentation></annotation></group></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] +Hopefully it is obvious that the Appenders must be configured to not suppress exceptions for the FailoverAppender to work.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>A Filter (optional).</documentation></annotation></group></sequence><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise t [...] Use for compatibility with version 1.2 and handy for composing a apiref:org.apache.logging.log4j.core.appender.ScriptAppenderSelector[].</documentation></annotation><attribute name="name" type="string"></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.OutputStreamAppender"><annotation><documentation>Appends log events to a given output stream using a layout. @@ -124,7 +124,7 @@ Requires the JeroMQ jar (LGPL as of 0.3.5)</documentation></annotation><sequence It requires implementations of apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlObject[], apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlConnection[], and apiref:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider[] to "know" how to write events to the chosen NoSQL database. -For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB and CouchDB providers.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><ele [...] +For examples on how to write your own NoSQL provider, see the simple source code for the MongoDB and CouchDB providers.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlProvider" minOccurs="0"><annotation><documentation>Sets the provider.</documentation></annotation></group><ele [...] 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. @@ -200,7 +200,7 @@ xml configuration will produce either a "?" character or no output at all. For best performance, use AsyncLoggerConfig with the RandomAccessFileAppender or RollingRandomAccessFileAppender, with immediateFlush=false. These appenders have built-in support for the batching mechanism used by the Disruptor library, and they will flush to disk at the end of each batch. -This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.conf [...] +This means that even with immediateFlush=false, there will never be any items left in the buffer; all log events will all be written to disk in a very efficient manner.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" minOccurs="0" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.conf [...] The possible values are: * `out` for using standard out (default) @@ -209,7 +209,7 @@ The possible values are: If the provided value is invalid, then the default destination of standard out will be used.</documentation></annotation></attribute><attribute name="name" type="string"><annotation><documentation>Name of the configuration</documentation></annotation></attribute><attribute name="monitorInterval" type="int"><annotation><documentation>Number of seconds between polls for configuration changes</documentation></annotation></attribute><attribute name="schema" type="string"><annotation><documen [...] Possible values are `enable` and `disable`. -The shutdown hook is enabled by default, unless Log4j detects the presence of the Servlet API.</documentation></annotation></attribute><attribute name="shutdownTimeout" type="int"><annotation><documentation>Timeout in milliseconds of the logger context shut down</documentation></annotation></attribute><attribute name="status" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the level of the status logger</documentation></annotation></attribute><attribute name=" [...] +The shutdown hook is enabled by default, unless Log4j detects the presence of the Servlet API.</documentation></annotation></attribute><attribute name="shutdownTimeout" type="int"><annotation><documentation>Timeout in milliseconds of the logger context shut down</documentation></annotation></attribute><attribute name="status" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>Sets the level of the status logger</documentation></annotation></attribute><attribute name=" [...] ConfigurationFactory allows the configuration implementation to be dynamically chosen in 1 of 3 ways: @@ -222,7 +222,7 @@ The apiref:org.apache.logging.log4j.core.config.Order[] annotation should be use See apiref:org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory[] for an example. If the ConfigurationFactory that was added returns null on a call to getConfiguration then any other ConfigurationFactories found as plugins will be called in their respective order. -DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFac [...] +DefaultConfiguration is always called last if no configuration has been returned.</documentation></annotation><choice><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="PropertiesConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory"/><element name="XmlConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.xml.XmlConfigurationFac [...] The supported formats are: @@ -231,12 +231,12 @@ The supported formats are: * String using apiref:java.nio.charset.Charset#defaultCharset()[] [TODO Should this be UTF-8 instead? ]</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.ByteConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Byte[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.CharArrayConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a `char[]`.</documentation></ann [...] -Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into [...] +Returns `null` for invalid level names.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.LongConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into a apiref:java.lang.Long[].</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.config.plugins.convert.TypeConverters.PathConverter"><annotation><documentation>Converts a apiref:java.lang.String[] into [...] Filters can be either context wide or attached to an appender. A filter may choose to support being called only from the context or only from an appender in which case it will only implement the required method(s). The rest will default to return apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.core.Filter.Result#NEUTRAL[]. -Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilte [...] +Garbage-free note: the methods with unrolled varargs by default delegate to the apiref:org.apache.logging.log4j.core.filter.AbstractFilter#filter(Logger, Level, Marker, String, Object...)[filter method with vararg parameters]. Subclasses that want to be garbage-free should override these methods to implement the appropriate filtering without creating a vararg array.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilte [...] Use this filter when you want to control the maximum burst of log statements that can be sent to an appender. The filter is configured in the log4j configuration file. @@ -258,7 +258,7 @@ DENY.</documentation></annotation></attribute></complexType><complexType name="o By default the context is the apiref:org.apache.logging.log4j.ThreadContext[], but users may apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure] a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which obtains context data from some other source.</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>An array [...] -Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoO [...] +Extends apiref:org.apache.logging.log4j.core.LifeCycle[] since filters have a life cycle.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="Async" type="log4j:org.apache.logging.log4j.core.appender.AsyncAppender"/><element name="Console" type="log4j:org.apache.logging.log4j.core.appender.ConsoleAppender"/><element name="CountingNoOp" type="log4j:org.apache.logging.log4j.core.appender.CountingNoO [...] 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. @@ -298,7 +298,7 @@ DENY.</documentation></annotation></attribute><attribute name="text" type="strin If not "or" the operation will be an "and".</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.filter.ThreadContextMapFilter"><annotation><documentation>Filter based on a value in the Thread Context Map (MDC).</documentation></annotation><sequence><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.util.KeyValuePair" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="onMatch" type="log4j:org.apa [...] For example, if the ThresholdFilter is configured with Level ERROR and the LogEvent contains Level DEBUG then the onMismatch value will be returned since ERROR events are more specific than DEBUG. -The default Level is ERROR.</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log Level.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><docume [...] +The default Level is ERROR.</documentation></annotation><attribute name="level" type="log4j:org.apache.logging.log4j.Level"><annotation><documentation>The log Level.</documentation></annotation></attribute><attribute name="onMatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><documentation>The action to take on a match.</documentation></annotation></attribute><attribute name="onMismatch" type="log4j:org.apache.logging.log4j.core.Filter.Result"><annotation><docume [...] Depends on Apache Commons CSV 1.2.</documentation></annotation><choice><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/></choice></group><group name="org.apache.logging.log4j.core.layout.AbstractJacksonLayout"><choice><element name="JsonLayout" type="log4j:org.apache.logging.log4j.core.layout.JsonLayout"/><element name="XmlLayout" [...] @@ -385,13 +385,13 @@ Supports Lookup expressions.</documentation></annotation><sequence><element name If "true", includes the stacktrace of any Throwable in the generated data, defaults to "true".</documentation></annotation></attribute><attribute name="includeTimeMillis" type="boolean"><annotation><documentation>Whether to include the timestamp (in addition to the Instant) (optional, default to false).</documentation></annotation></attribute><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute><attribute name="stacktraceAsStri [...] -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 [...] +Handles saving the Configuration.</documentation></annotation><choice><element name="interpolator_test" type="log4j:org.apache.logging.log4j.core.lookup.InterpolatorTest.Lookup"/><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.lookup.AbstractLookup"><annotation><documentation>A default lookup for others to extend.</documentation></annotation><choice><element name="env" type="log4j:org.apache. [...] By default this is the apiref:org.apache.logging.log4j.ThreadContext[], but users may apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure] a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which obtains context data from some other source.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.DateLookup"><annotation><documentation>Formats the current date or the date in the LogEvent. The "key" is used as the format String, following the java. text. -SimpleDateFormat date and time pattern strings.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EnvironmentLookup"><annotation><documentation>Looks up keys from environment variables.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EventLookup"><annotation><documentation>Looks up values from the log event.</documentation></annotation></complexType><complexType name="org.apache.logging.log4 [...] +SimpleDateFormat date and time pattern strings.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EnvironmentLookup"><annotation><documentation>Looks up keys from environment variables.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.EventLookup"><annotation><documentation>Looks up values from the log event.</documentation></annotation></complexType><complexType name="org.apache.logging.log4 [...] The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.MainMapLookup"><annotation><documentation>A map-based lookup for main arguments. @@ -403,9 +403,9 @@ It has a benefit over a map in that it can create the result on demand based on This class comes complete with various factory methods. If these do not suffice, you can subclass and implement your own matcher. -For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database</documentation></annotation><choice><element name="ctx" type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element name="date" type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging [...] +For example, it would be possible to implement a lookup that used the key as a primary key, and looked up the value on demand from the database</documentation></annotation><choice><element name="ctx" type="log4j:org.apache.logging.log4j.core.lookup.ContextMapLookup"/><element name="date" type="log4j:org.apache.logging.log4j.core.lookup.DateLookup"/><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging [...] -The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.net.Advertiser"><choice><element name="default" type="log4j:org.apache.logging.log4j.core.config.DefaultAdvertiser"/><element name="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 b [...] +The passed in "key" should be the value of another lookup.</documentation></annotation></complexType><group name="org.apache.logging.log4j.core.net.Advertiser"><choice><element name="default" type="log4j:org.apache.logging.log4j.core.config.DefaultAdvertiser"/><element name="memory" type="log4j:org.apache.logging.log4j.core.config.InMemoryAdvertiser"/><element name="multicastdns" type="log4j:org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"/></choice></group><simpleType name="org [...] [cols="1,1"] |=== @@ -509,7 +509,7 @@ html#SSLContext</documentation></annotation></attribute></complexType><group nam See the Java Secure Socket Extension Reference Guide for information these names.</documentation></annotation></attribute><attribute name="type" type="string"><annotation><documentation>The KeyStore type, null defaults to `"JKS"`.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.core.pattern.AbstractPatternConverter"><annotation><documentation>AbstractPatternConverter is an abstract class that provides the formatting functionality that derived c [...] Conversion specifiers in a conversion patterns are parsed to individual PatternConverters. -Each of which is responsible for converting an object in a converter specific manner.</documentation></annotation><choice><element name="black" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"/><element name="blue" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"/><element name="cyan" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"/><element name="green" type="log4j:org.apache.logging. [...] +Each of which is responsible for converting an object in a converter specific manner.</documentation></annotation><choice><element name="TestFormatPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestFormatPatternConverter"/><element name="TestParametersPatternConverter" type="log4j:org.apache.logging.log4j.core.TestPatternConverters.TestParametersPatternConverter"/><element name="black" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameC [...] Adds ANSI color styling to the result of the enclosed pattern.</documentation></annotation><choice><element name="black" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Black"/><element name="blue" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Blue"/><element name="cyan" type="log4j:org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter.Cyan"/><element name="green" type="log4j:org.apache.logging.log4j.core.pattern.Abst [...] @@ -573,7 +573,7 @@ To disable ANSI output unconditionally, specify an additional option `disableAns [source,java] ---- %highlight{%d{ ISO8601 } [%t] %-5level: %msg%n%throwable}{STYLE=DEFAULT, noConsoleNoAnsi=true} -----</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.IntegerPatternConverter"><annotation><documentation>Formats an integer.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LevelPatternConverter"><annotation><documentation>Returns the event's level in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LineLocationPatternCon [...] +----</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.IntegerPatternConverter"><annotation><documentation>Formats an integer.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LevelPatternConverter"><annotation><documentation>Returns the event's level in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.LineLocationPatternCon [...] util. Hashtable. toString(), or to output the value of a specific key within the Map.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MarkerPatternConverter"><annotation><documentation>Returns events' full marker string in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"><annotation><documentation>Appends an event's maker name to a StringBuilder.</documen [...] @@ -583,18 +583,18 @@ On invalid length the default value 100 is used (and an error message is logged) Example usage (for email subject): `"%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =>%ex{short}}}{160}"`</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MdcPatternConverter"><annotation><documentation>Able to handle the contents of the LogEvent's MDC and either output the entire contents of the properties in a similar format to the java. util. Hashtable. -toString(), or to output the value of a specific key within the property bundle when this pattern converter has the option set.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MessagePatternConverter"><annotation><documentation>Returns the event's rendered message in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"><annotation><documentatio [...] +toString(), or to output the value of a specific key within the property bundle when this pattern converter has the option set.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MessagePatternConverter"><annotation><documentation>Returns the event's rendered message in a StringBuilder.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"><annotation><documentatio [...] The extended stack trace will also include the location of where the class was loaded from and the version of the jar if available.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"><annotation><documentation>Formats the event sequence number.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.StyleConverter"><annotation><documentation>Style pattern converter. Adds ANSI color styling to the result of the enclosed pattern. -To disable ANSI output unconditionally, specify an additional option `disableAnsi=true`, or to disable ANSI output if no console is detected, specify option `noConsoleNoAnsi=true`.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"><annotation><documentation>Formats the event thread ID.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"><an [...] +To disable ANSI output unconditionally, specify an additional option `disableAnsi=true`, or to disable ANSI output if no console is detected, specify option `noConsoleNoAnsi=true`.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"><annotation><documentation>Formats the event thread ID.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter"><an [...] Causes a reconfiguration when a file changes.</documentation></annotation><choice><element name="http" type="log4j:org.apache.logging.log4j.core.config.HttpWatcher"/></choice></group><group name="org.apache.logging.log4j.core.util.Builder"><annotation><documentation>A type of builder that can be used to configure and create a instances using a Java DSL instead of through a configuration file. These builders are primarily useful for internal code and unit tests, but they can technically be used as a verbose alternative to configuration files. -When creating _plugin_ builders, it is customary to create the builder class as a public static inner class called `Builder`. For instance, the builder class for apiref:org.apache.logging.log4j.core.util.org.apache.logging.log4j.core.layout.PatternLayout[PatternLayout] would be `PatternLayout. Builder`.</documentation></annotation><choice><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions"/><element name="SocketPerformancePreferences" type="log4j:or [...] +When creating _plugin_ builders, it is customary to create the builder class as a public static inner class called `Builder`. For instance, the builder class for apiref:org.apache.logging.log4j.core.util.org.apache.logging.log4j.core.layout.PatternLayout[PatternLayout] would be `PatternLayout. Builder`.</documentation></annotation><choice><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions"/><element name="SocketPerformancePreferences" type="log4j:or [...] Logs with apiref:jakarta.servlet.ServletContext#log(String,Throwable)[] if true and with apiref:jakarta.servlet.ServletContext#log(String)[] if false.</documentation></annotation></attribute><attribute name="name" type="string"></attribute></complexType></schema> \ No newline at end of file