This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/logging-site.git
The following commit(s) were added to refs/heads/asf-staging by this push: new 33d3b65d Automatic Site Publish by Buildbot 33d3b65d is described below commit 33d3b65da81e03377fb34eab7ffec6adef7b08e1 Author: buildbot <us...@infra.apache.org> AuthorDate: Thu May 9 16:53:12 2024 +0000 Automatic Site Publish by Buildbot --- content/feed.xml | 2 +- content/xml/ns/log4j-config-2.23.1.xsd | 120 +++++++++++++++++++-------------- 2 files changed, 72 insertions(+), 50 deletions(-) diff --git a/content/feed.xml b/content/feed.xml index 2fe0bd3e..e662bfad 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2024-05-09T12:01:34+00:00</updated><id>/feed.xml</id><title type="html">Apache Software Foundation - Logging Services</title><subtitle>Write an awesome description for your new site here. You can edit this line in _ [...] +<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2024-05-09T16:53:11+00:00</updated><id>/feed.xml</id><title type="html">Apache Software Foundation - Logging Services</title><subtitle>Write an awesome description for your new site here. You can edit this line in _ [...] <p>Today, December 17, 2023 marks a significant milestone for the Apache Logging Services project, as we celebrate 20 years since the inception of Log4j 1. diff --git a/content/xml/ns/log4j-config-2.23.1.xsd b/content/xml/ns/log4j-config-2.23.1.xsd index ff757cf7..c65f0aa3 100644 --- a/content/xml/ns/log4j-config-2.23.1.xsd +++ b/content/xml/ns/log4j-config-2.23.1.xsd @@ -1,12 +1,21 @@ -<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns" version="2.24.0-SNAPSHOT"><element type="log4j:org.apache.logging.log4j.core.config.Configuration" name="Configuration"/><simpleType name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction base="string"><enumeration value="WAITING"></enumeration><enumeration valu [...] +<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:log4j="https://logging.apache.org/xml/ns" elementFormDefault="qualified" targetNamespace="https://logging.apache.org/xml/ns" version="2.24.0-SNAPSHOT"><element type="log4j:org.apache.logging.log4j.core.config.Configuration" name="Configuration"/><simpleType name="com.conversantmedia.util.concurrent.SpinPolicy"><restriction base="string"><enumeration value="WAITING"></enumeration><enumeration valu [...] + +In this class, order of apiref:org.apache.logging.log4j.Level[] is log4j1 way, i.e., apiref:org.apache.logging.log4j.Level#ALL[] and apiref:org.apache.logging.log4j.Level#OFF[] have minimum and maximum order, respectively. +(see: LOG4J2-2315)</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.filter.StringMatchFilterBuilder"><annotation><documentation>Build a String match filter.</documentation></annotation></complexType><complexType name="org.apache.log4j.builders.layout.HtmlLayoutBuilder"><annotation><documentation>Build a Pattern Layout</documentation></annotation></complexType><group name="org.apache.log4j.builders.layout.LayoutBuilder"><annotation><documentation>Defi [...] + +Provided for compatibility with existing Log4j 1 configurations. +Originally developed by Ceki Glc and Anders Kristensen.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group></sequence><attribute name="facility" type="log4j:org.apache.logging.log4j.core.net.Facility"></attribute><attribute name="facilityPrinting" type="boolean"></attribute><attribute name="footer" type="string"></attribute><attribute name="header" type="boolean"></attribute></complexType><complexType name="org.apache.log4j [...] + +Provided for compatibility with existing Log4j 1 configurations. +Originally developed by Ceki Glc, Mathias Bogaert.</documentation></annotation><attribute name="locationInfo" type="boolean"></attribute><attribute name="properties" type="boolean"></attribute></complexType><complexType name="org.apache.log4j.pattern.Log4j1LevelPatternConverter"><annotation><documentation>Outputs the Log4j 1.x level name.</documentation></annotation></complexType><complexType name="org.apache.log4j.pattern.Log4j1MdcPatternConverter"><annotation><documentation>Able to han [...] NOTE: The Log4j API supports custom levels, the following list contains only the standard ones.</documentation></annotation><restriction base="string"><enumeration value="OFF"><annotation><documentation>Special level that disables logging. -No events should be logged at this level.</documentation></annotation></enumeration><enumeration value="FATAL"><annotation><documentation>A fatal event that will prevent the application from continuing</documentation></annotation></enumeration><enumeration value="ERROR"><annotation><documentation>An error in the application, possibly recoverable</documentation></annotation></enumeration><enumeration value="WARN"><annotation><documentation>An event that might possible lead to an error</do [...] +No events should be logged at this level.</documentation></annotation></enumeration><enumeration value="FATAL"><annotation><documentation>A fatal event that will prevent the application from continuing</documentation></annotation></enumeration><enumeration value="ERROR"><annotation><documentation>An error in the application, possibly recoverable</documentation></annotation></enumeration><enumeration value="WARN"><annotation><documentation>An event that might possible lead to an error</do [...] Addresses without a port (or port set to 0) will use the default Cassandra port (9042).</documentation></annotation></element></sequence><attribute name="batchType" type="log4j:com.datastax.driver.core.BatchStatement.Type"><annotation><documentation>If batch statements are enabled, use this type of batch statement.</documentation></annotation></attribute><attribute name="batched" type="boolean"><annotation><documentation>Whether or not to use batch statements when inserting records.</doc [...] 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,12 +24,12 @@ 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. This interface supports "global" filters (i.e. - all events must pass through them first), attached to specific loggers and associated with Appenders. -It is recommended that, where possible, Filter implementations create a generic filtering method that can be called from any of the filter methods.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilter"/><element name="filters" type="log4j:org.apache.logging.log4j.core.filter.CompositeFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThreshold [...] +It is recommended that, where possible, Filter implementations create a generic filtering method that can be called from any of the filter methods.</documentation></annotation><choice><element name="BurstFilter" type="log4j:org.apache.logging.log4j.core.filter.BurstFilter"/><element name="Filters" type="log4j:org.apache.logging.log4j.core.filter.CompositeFilter"/><element name="DenyAllFilter" type="log4j:org.apache.logging.log4j.core.filter.DenyAllFilter"/><element name="DynamicThreshold [...] The formats are: @@ -29,35 +38,35 @@ The formats are: * apiref:java.lang.String[] * apiref:org.apache.logging.log4j.core.LogEvent[] -Since 2.6, Layouts can apiref:org.apache.logging.log4j.core.layout.Encoder#encode(Object,ByteBufferDestination)[encode] a `LogEvent` directly to a apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without creating temporary intermediary objects.</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.CsvPa [...] +Since 2.6, Layouts can apiref:org.apache.logging.log4j.core.layout.Encoder#encode(Object,ByteBufferDestination)[encode] a `LogEvent` directly to a apiref:org.apache.logging.log4j.core.layout.ByteBufferDestination[] without creating temporary intermediary objects.</documentation></annotation><choice><element name="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name= [...] 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="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 [...] You can configure an AsyncAppender with one or more Appenders and an Appender to append to if the queue is full. -The AsyncAppender does not allow a filter to be specified on the Appender references.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="property" type="log4j:org.apache.logging.log4j.core.con [...] +The AsyncAppender does not allow a filter to be specified on the Appender references.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.async.BlockingQueueFactory" minOccurs="0"></group><element name="AppenderRef" type="log4j:org.apache.logging.log4j.core.config.AppenderRef" maxOccurs="unbounded"></element><element name="Property" type="log4j:org.apache.logging.log4j.core.con [...] 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"></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 [...] +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. -Character encoding is handled within the Layout.</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> [...] +Character encoding is handled within the Layout.</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> [...] The number of logging events delivered in this e-mail depend on the value of *BufferSize* option. The `SmtpAppender` keeps only the last `BufferSize` logging events in its cyclic buffer. @@ -69,7 +78,7 @@ This can be modified by setting a filter for the appender.</documentation></anno By default, uses a apiref:org.apache.logging.log4j.core.filter.ThresholdFilter[] with a level of ERROR.</documentation></annotation></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"><annotation><documentation>Specifies the layout used for the email message body. -By default, this uses the apiref:org.apache.logging.log4j.core.layout.HtmlLayout#createDefaultLayout()[default HTML layout].</documentation></annotation></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"><annotation><documentation>Specifies an SSL configuration for smtps connections.</documentation></a [...] +By default, this uses the apiref:org.apache.logging.log4j.core.layout.HtmlLayout#createDefaultLayout()[default HTML layout].</documentation></annotation></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="Ssl" type="log4j:org.apache.logging.log4j.core.net.ssl.SslConfiguration" minOccurs="0"><annotation><documentation>Specifies an SSL configuration for smtps connections.</documentation></a [...] Defaults to .</documentation></annotation></attribute><attribute name="cc" type="string"><annotation><documentation>Comma-separated list of CC email addresses.</documentation></annotation></attribute><attribute name="from" type="string"><annotation><documentation>Email address of the sender.</documentation></annotation></attribute><attribute name="ignoreExceptions" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="replyTo" type="string"><annotat [...] @@ -77,9 +86,9 @@ Disabled by default.</documentation></annotation></attribute><attribute name="sm Defaults to "smtp".</documentation></annotation></attribute><attribute name="smtpUsername" type="string"><annotation><documentation>Username to authenticate with SMTP server.</documentation></annotation></attribute><attribute name="subject" type="string"><annotation><documentation>Subject template for the email messages.</documentation></annotation></attribute><attribute name="to" type="string"><annotation><documentation>Comma-separated list of recipient email addresses.</documentation>< [...] -Supports both TCP and UDP.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions" minOccurs="0"></element><element name="Ssl" type=" [...] +Supports both TCP and UDP.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element><element name="SocketOptions" type="log4j:org.apache.logging.log4j.core.net.SocketOptions" minOccurs="0"></element><element name="Ssl" type=" [...] -Supports both TCP and UDP.</documentation></annotation><choice><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The Syslog Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"> [...] +Supports both TCP and UDP.</documentation></annotation><choice><element name="Socket" type="log4j:org.apache.logging.log4j.core.appender.SocketAppender"/><element name="Syslog" type="log4j:org.apache.logging.log4j.core.appender.SyslogAppender"/></choice></group><complexType name="org.apache.logging.log4j.core.appender.SyslogAppender"><annotation><documentation>The Syslog Appender.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"> [...] All database appenders should inherit from this base appender.</documentation></annotation><choice><element name="Cassandra" type="log4j:org.apache.logging.log4j.cassandra.CassandraAppender"/><element name="JDBC" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"/><element name="JPA" type="log4j:org.apache.logging.log4j.core.appender.db.jpa.JpaAppender"/><element name="NoSql" type="log4j:org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"/></choice></group>< [...] @@ -106,25 +115,25 @@ If you want to use the apiref:org.apache.logging.log4j.core.appender.db.jdbc.Jdb Must start with java:/comp/env or environment-equivalent.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"><annotation><documentation>A apiref:org.apache.logging.log4j.core.appender.db.jdbc.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>< [...] +This handy to get you off the ground without having to deal with JNDI.</documentation></annotation><sequence><element name="Property" type="log4j:org.apache.logging.log4j.core.config.Property" minOccurs="0" maxOccurs="unbounded"></element></sequence><attribute name="connectionString" type="string"></attribute><attribute name="driverClassName" type="string"></attribute><attribute name="password" type="string"></attribute><attribute name="userName" type="string"></attribute></complexType>< [...] If this method returns a apiref:java.sql.Connection[], it should return a new connection every call.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.appender.db.jdbc.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.core.appender.db.jdbc.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.core.config.plugins.convert.TypeConverter[type conversion] and persistence using apiref:java.sql.PreparedStatement#setObject(int,Object)[]. A apiref:org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource[] plugin instance instructs the appender (and apiref:org.apache.logging.log4j.core.appender.db.jdbc.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="Column" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig" minOccurs= [...] +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="Column" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig" minOccurs= [...] -The connections are served from an Apache Commons DBCP pooling driver.</documentation></annotation><sequence><element name="PoolableConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolableConnectionFactoryConfig" minOccurs="0"></element><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="driver [...] +The connections are served from an Apache Commons DBCP pooling driver.</documentation></annotation><sequence><element name="PoolableConnectionFactory" type="log4j:org.apache.logging.log4j.core.appender.db.jdbc.PoolableConnectionFactoryConfig" minOccurs="0"></element><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="driver [...] It requires a pre-configured JPA persistence unit and a concrete implementation of the abstract apiref:org.apache.logging.log4j.core.appender.db.jpa.AbstractLogEventWrapperEntity[] class decorated with JPA annotations.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.Filter" minOccurs="0"><annotation><documentation>The filter, if any, to use.</documentation></annotation></group></sequence><attribute name="bufferSize" type="string"><annotation><documen [...] This Appender replaces the previous split ones. -However, configurations set up for the 2.0 version of the JMS appenders will still work.</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="destinationBindingName" type="string"></attribute>< [...] +However, configurations set up for the 2.0 version of the JMS appenders will still work.</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="destinationBindingName" type="string"></attribute>< [...] -Requires the JeroMQ jar (LGPL as of 0.3.5)</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="affinity" type="long"></attribute><attribute name="backlog" type="long"></attribute><attribute na [...] +Requires the JeroMQ jar (LGPL as of 0.3.5)</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="affinity" type="long"></attribute><attribute name="backlog" type="long"></attribute><attribute na [...] 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. @@ -167,8 +176,7 @@ Corresponds to logical "OR".</documentation></annotation><sequence><group ref="l If both a regular expression and a glob pattern are specified the glob pattern is used and the regular expression is ignored. The regular expression is a pattern as defined by the apiref:java.util.regex.Pattern[] class. -A glob is a simplified pattern expression described in apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested conditions to evaluate if this condition accepts a path</documentation></annotation></group></sequence><attribute name="glob" type="string"><annotation><documentation>the baseDir-relat [...] -Must be a valid Duration.</documentation></annotation></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"><annotation><documentation>The condition to negate.</documentation></annotation></gr [...] +A glob is a simplified pattern expression described in apiref:java.nio.file.FileSystem#getPathMatcher(String)[].</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"><annotation><documentation>nested conditions to evaluate if this condition accepts a path</documentation></annotation></group></sequence><attribute name="glob" type="string"><annotation><documentation>the baseDir-relat [...] Allow to define file permissions, user and group for log files on POSIX supported OS.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.appender.rolling.action.PathCondition" minOccurs="0" maxOccurs="unbounded"></group></sequence><attribute name="basePath" type="string"></attribute><attribute name="fileGroup" type="string"></attribute><attribute name="fileOwner" type="string"></attribute><attribute name="filePermissions" type="string"></attribute><attr [...] @@ -185,7 +193,7 @@ Can be used to relativize the paths in the pathList. * any properties declared in the configuration</documentation></annotation></group></sequence></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 [...] 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"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appen [...] +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"></group><group ref="log4j:org.apache.logging.log4j.core.Layout" minOccurs="0"></group><group ref="log4j:org.apache.logging.log4j.core.appen [...] AsyncLoggerConfig is a logger designed for high throughput and low latency logging. It does not perform any I/O in the calling (application) thread, but instead hands off the work to another thread as soon as possible. @@ -200,7 +208,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 +217,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,21 +230,21 @@ 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="Log4j1PropertiesConfigurationFactory" type="log4j:org.apache.log4j.config.PropertiesConfigurationFactory"/><element name="Log4j1XmlConfigurationFactory" type="log4j:org.apache.log4j.xml.XmlConfigurationFactory"/><element name="JsonConfigurationFactory" type="log4j:org.apache.logging.log4j.core.config.json.JsonConfigurationFactory"/><element name="Properties [...] 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.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 [...] +]</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. @@ -256,9 +264,9 @@ NEUTRAL.</documentation></annotation></attribute><attribute name="onMismatch" ty 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"><annotation><documentation>An array [...] +By default the context is the apiref:org.apache.logging.log4j.ThreadContext[] and/or the apiref:org.apache.logging.log4j.core.filter.org.apache.logging.log4j.ScopedContext[], but users may add a custom apiref:org.apache.logging.log4j.core.util.ContextDataProvider[] 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 [...] -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,11 +306,11 @@ 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" [...] +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" [...] -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="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element name="CsvParameterLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvParameterLayout"/><element name="GelfLayout" type="log4j:org.apache.logging.log4j.core.layout.GelfLay [...] +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="Log4j1SyslogLayout" type="log4j:org.apache.log4j.layout.Log4j1SyslogLayout"/><element name="Log4j1XmlLayout" type="log4j:org.apache.log4j.layout.Log4j1XmlLayout"/><element name="CsvLogEventLayout" type="log4j:org.apache.logging.log4j.core.layout.CsvLogEventLayout"/><element n [...] 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.core.layout.CsvPa [...] @@ -310,7 +318,7 @@ 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><group [...] +`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><group [...] This layout compresses JSON to GZIP or ZLIB (the `compressionType`) if log event data is larger than 1024 bytes (the `compressionThreshold`). This layout does not implement chunking.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"><annotation><documentation>The PatternSelector to use to format the message.</documentation></annotation></group><element name="KeyValuePair" type="log4j:org.apache.logging.log4j.core.u [...] @@ -349,7 +357,7 @@ 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"> [...] +See the Log4j Manual for details on the supported pattern converters.</documentation></annotation><sequence><group ref="log4j:org.apache.logging.log4j.core.layout.PatternSelector" minOccurs="0"></group><element name="Replace" type="log4j:org.apache.logging.log4j.core.pattern.RegexReplacement" minOccurs="0"></element></sequence><attribute name="alwaysWriteExceptions" type="boolean"></attribute><attribute name="disableAnsi" type="boolean"></attribute><attribute name="footer" type="string"> [...] Defaults to "true:.</documentation></annotation></attribute><attribute name="mdcExcludes" type="string"><annotation><documentation>A comma separated list of MDC keys that should be excluded from the LogEvent.</documentation></annotation></attribute><attribute name="mdcId" type="string"><annotation><documentation>The id to use for the MDC Structured Data Element.</documentation></annotation></attribute><attribute name="mdcIncludes" type="string"><annotation><documentation>A comma separate [...] The default is false.</documentation></annotation></attribute><attribute name="newLineEscape" type="string"><annotation><documentation>String that should be used to replace newlines within the message text.</documentation></annotation></attribute><attribute name="useTlsMessageFormat" type="boolean"><annotation><documentation>If true the message will be formatted according to RFC 5425.</documentation></annotation></attribute></complexType><complexType name="org.apache.logging.log4j.core.l [...] @@ -385,13 +393,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="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. [...] +Handles saving the Configuration.</documentation></annotation><choice><element name="log4j" type="log4j:org.apache.logging.log4j.core.lookup.Log4jLookup"/></choice></group><group name="org.apache.logging.log4j.core.lookup.AbstractLookup"><annotation><documentation>A default lookup for others to extend.</documentation></annotation><choice><element name="env" type="log4j:org.apache.logging.log4j.core.lookup.EnvironmentLookup"/><element name="event" type="log4j:org.apache.logging.log4j.core [...] -By default this is the apiref:org.apache.logging.log4j.ThreadContext[], but users may apiref:org.apache.logging.log4j.core.impl.ContextDataInjectorFactory[configure] a custom apiref:org.apache.logging.log4j.core.ContextDataInjector[] which obtains context data from some other source.</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.lookup.DateLookup"><annotation><documentation>Formats the current date or the date in the LogEvent. +By default this is the apiref:org.apache.logging.log4j.ThreadContext[] or apiref:org.apache.logging.log4j.ScopedContext[]. Users may add their own apiref:org.apache.logging.log4j.core.lookup.org.apache.logging.log4j.core.util.ContextDataProvider[] which can be retrieved via this Lookup.</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 +411,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="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 [...] +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 [...] [cols="1,1"] |=== @@ -509,7 +517,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="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 [...] +Each of which is responsible for converting an object in a converter specific manner.</documentation></annotation><choice><element name="Log4j1LevelPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1LevelPatternConverter"/><element name="Log4j1MdcPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1MdcPatternConverter"/><element name="Log4j1NdcPatternConverter" type="log4j:org.apache.log4j.pattern.Log4j1NdcPatternConverter"/><element name="black" type="log4j:org.apache. [...] 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,28 +581,42 @@ 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 [...] Limit contained text to a maximum length. On invalid length the default value 100 is used (and an error message is logged). If max length is greater than 20, an abbreviated text will get ellipsis ("...") appended. -Example usage (for email subject): `"%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =>%ex{short}}}{160}"`</documentation></annotation></complexType><complexType name="org.apache.logging.log4j.core.pattern.MdcPatternConverter"><annotation><documentation>Able to handle the contents of the LogEvent's MDC and either output the entire contents of the properties in a similar format to the java. +Example usage (for email subject): + +[source,java] +---- +`%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 [...] + +Use in a real environment is discouraged as the List could eventually grow to cause an OutOfMemoryError. +This appender is not thread-safe. +This appender will use apiref:org.apache.logging.log4j.core.Layout#toByteArray(LogEvent)[].</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="entryPerNewLine" type="boolean"></attribute><attribute name="name" type="string"></attribute><attribute name="raw" type="boolean"></attribute></complexType><complexType name="org [...] 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 [...] +Defaults to 1.</documentation></annotation></attribute><attribute name="compress" type="string"><annotation><documentation>If true the event body will be compressed.</documentation></annotation></attribute><attribute name="connectTimeoutMillis" type="string"><annotation><documentation>The amount of time in milliseconds to wait before a connection times out. +Minimum is 1000.</documentation></annotation></attribute><attribute name="dataDir" type="string"><annotation><documentation>The directory where the Flume FileChannel should write its data.</documentation></annotation></attribute><attribute name="embedded" type="string"><annotation><documentation>true if the embedded agent manager should be used. +otherwise the Avro manager will be used. +*Note:*_The embedded attribute is deprecated in favor of specifying the type attribute._</documentation></annotation></attribute><attribute name="eventPrefix" type="string"><annotation><documentation>The prefix to add to event key names.</documentation></annotation></attribute><attribute name="hosts" type="string"></attribute><attribute name="ignoreExceptions" type="string"><annotation><documentation>If `"true"` (default) exceptions encountered when appending events are logged; otherwise [...] +Minimum is 1000.</documentation></annotation></attribute><attribute name="type" type="string"><annotation><documentation>Avro (default), Embedded, or Persistent.</documentation></annotation></attribute></complexType><group name="org.apache.logging.log4j.flume.appender.FlumeEventFactory"><annotation><documentation>Factory to create Flume events.</documentation></annotation><choice><element name="Flume" type="log4j:org.apache.logging.log4j.flume.appender.FlumeAppender"/></choice></group><c [...] 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