All Classes and Interfaces

Class
Description
Abstract base class for implementations of Action.
Abstract base class for Appenders.
Subclasses can extend this abstract Builder.
The base Configuration.
StrLookup that is ConfigurationAware.
 
A superclass for Comma-Separated Value (CSV) layouts.
An abstract Appender for writing events to a database of some type, be it relational or NoSQL.
 
Manager that allows database appenders to have their configuration reloaded without losing events.
Implementations should extend this class for passing data between the getManager method and the manager factory class.
A ConnectionSource that uses a JDBC connection string, a user name, and a password to call DriverManager.getConnection(String, String, String).
Builds DriverManagerConnectionSource instances.
Abstract File Appender.
Builds FileAppender instances.
Users should extend this class to implement filters.
 
Enhances a Class by allowing it to contain Filters.
Subclasses can extend this abstract Builder.
Configuration of the KeyStore
Abstract base class for Layouts.
Subclasses can extend this abstract Builder.
A life cycle to be extended.
An abstract log event implementation with default values for all methods.
A default lookup for others to extend.
Abstract base class used to register managers.
Implementations should extend this class for passing data between the getManager method and the manager factory class.
Facilitates implementations of NoSqlConnection.
Appends log events as bytes to a byte output stream.
Subclasses can extend this abstract Builder.
Abstract action for processing files that are accepted by the specified PathFilters.
AbstractPatternConverter is an abstract class that provides the formatting functionality that derived classes need.
Base class for PluginVisitor implementations.
 
Container for the language and body of a script.
Abstract base class for managing sockets.
Abstract base class for Layouts that result in a String.
 
 
Variation of AbstractStringLayout.Serializer that avoids allocating temporary objects.
Style pattern converter.
Black style pattern converter.
Blue style pattern converter.
Cyan style pattern converter.
Green style pattern converter.
Magenta style pattern converter.
Red style pattern converter.
White style pattern converter.
Yellow style pattern converter.
Abstract convenience class for triggering policies that extend AbstractLifeCycle and implement TriggeringPolicy.
Watcher for configuration files.
Helper class for triggering a reconfiguration in a background thread.
Appends log events as strings to a writer.
The Action interface should be implemented by any class that performs file system actions for RollingFileAppenders after the close of the active log file.
OSGi BundleActivator.
 
Converts text into ANSI escape sequences.
Appends LogEvents.
Implementation of the AppenderAdminMBean interface.
The MBean interface for monitoring and managing an Appender.
Builder for constructing Appender Components.
Wraps an Appender with details an appender implementation shouldn't need to know about.
Data structure with similar semantics to CopyOnWriteArraySet, but giving direct access to the underlying array.
Thrown from an appender when a log event could not be written.
An Appender reference.
Assembler for constructing AppenderRef Components.
A deferred plugin for appenders.
 
An Appender container.
Interface used to check for portions of the configuration that may be optionally included.
Factory for creating instances of ArrayBlockingQueue.
PatternConverters implement this interface to accept an array of objects when formatting.
Copied from Apache Commons Lang (including the @since tags.)
Utility class providing common validation logic.
Appends to one or more Appenders asynchronously.
 
Implementation of the AsyncAppenderAdminMBean interface.
The MBean interface for monitoring and managing an AsyncAppender.
AsyncLogger is a logger designed for high throughput and low latency logging.
Asynchronous Logger object that is created via configuration and can be combined with synchronous loggers.
 
An asynchronous root Logger.
 
Default disruptor exception handler for errors that occur in the AsyncLogger background thread.
Encapsulates the mechanism used to log asynchronously.
Helper class decoupling the AsyncLoggerConfig class from the LMAX Disruptor library.
RingBuffer events contain all information necessary to perform the work in a separate thread.
LoggerContext that creates AsyncLogger objects.
ContextSelector that manages AsyncLoggerContext instances.
Default disruptor exception handler for errors that occur in the AsyncLogger background thread.
Consider this class private.
Policy for deciding whether to discard the event, enqueue it or log the event on the current thread when the queue is full.
Creates AsyncQueueFullPolicy instances based on user-specified system properties.
This interface allows users to configure a custom Disruptor WaitStrategy used for Async Loggers and Async LoggerConfigs.
This class allows users to configure the factory used to create an instance of the LMAX disruptor WaitStrategy used by Async Loggers in the log4j configuration.
Builds AsyncWaitStrategyFactoryConfig instances.
Interface to be implemented to add an Authorization header to an HTTP request.
ReliabilityStrategy that counts the number of threads that have started to log an event but have not completed yet, and waits for these threads to finish before allowing the appenders to be stopped.
Reliability strategy that sleeps unconditionally for some time before allowing a Configuration to be stopped.
 
Returns either this Thread's context or the default AsyncLoggerContext.
Provides the Basic Authorization header to a request.
 
Returns either this Thread's context or the default LoggerContext.
Factory for creating instances of BlockingQueue.
Boolean helpers.
A type of builder that can be used to configure and create a instances using a Java DSL instead of through a configuration file.
This is the general version of the Configuration created by the Builder.
ContextSelector for OSGi bundles.
The BurstFilter is a logging filter that regulates logging traffic.
 
ByteBufferDestination is the destination that Encoders write binary data to.
Helper class for ByteBufferDestination implementors.
Implementation of the Clock interface that tracks the time in a private long field that is updated by a background thread once every millisecond.
Interface to cancel a Runnable callback.
Conditional that determines if the specified class is present.
 
This ContextSelector chooses a LoggerContext based upon the ClassLoader of the caller.
Formats the class name of the site of the logging request.
Provides the time stamp used in log events.
Factory for Clock objects.
Closes resources.
A delegating OutputStream that does not close its delegate.
 
This Clock implementation is similar to CachedClock.
A configuration element used to configure which event properties are logged to which columns in the database table.
 
A configuration element for specifying a database column name mapping.
Builder for ColumnMapping.
Compresses a file using bzip2 compression.
Container for building Configurations.
Builds arbitrary components and is the base type for the provided components.
A group of Actions to be executed in sequence.
A Composite Configuration.
Composes and invokes one or more filters.
Wraps multiple Filter Component builders.
Triggering policy that wraps other triggering policies.
Interface that must be implemented to create a configuration.
Indicates that a class requests the current Configuration to be injected.
Interface for building logging configurations.
Provides methods to create ConfigurationBuilders.
This exception is thrown when an error occurs reading from, parsing, using, or initializing the Log4j 2 configuration.
Factory class for parsed Configuration objects from a configuration file.
Factory Data that carries a configuration.
Watcher for configuration files.
Interface used to allow components to be notified when the configuration changes.
 
Represents the source for the logging configuration.
RuntimeStrSubstitutor is a StrSubstitutor which only supports recursive evaluation of lookups.
Initializes and configure the Logging system.
Configuration element for JdbcAppender.
Appends log events to System.out or System.err using a layout specified by the user.
Builds ConsoleAppender instances.
Enumeration of console destinations.
Log4j Constants.
Meta annotation to mark an annotation as a validation constraint.
Interface that Constraint annotations must implement to perform validation logic.
Utility class to locate an appropriate ConstraintValidator implementation for an annotation.
Anchor for the ThreadContext.
Consider this class private.
Consider this class private.
Consider this class private.
Factory for creating the StringMap instances used to initialize LogEvents' context data.
Responsible for initializing the context data of LogEvents.
Factory for ContextDataInjectors.
Source of context data to be added to each log event.
Consider this class private.
Looks up keys from the context.
Interface used to locate a LoggerContext.
Implementation of the ContextSelectorAdminMBean interface.
The MBean interface for monitoring and managing the ContextSelector.
Identifies the keys that are associated with a PatternConverter.
 
 
No-Operation Appender that counts events.
Provides a parser and evaluator for unix-like cron expressions.
 
Rolls a file over based on a cron schedule.
A Comma-Separated Value (CSV) layout to log events.
A Comma-Separated Value (CSV) layout to log event parameters.
Assembler for constructing CustomLevel Components.
Descriptor of a custom Level object that is created via configuration.
Container for CustomLevelConfig objects.
Wrapper around Generate.CustomLogger.
A bounded buffer containing elements of type T.
OutputStream for UDP connections.
Socket Manager for UDP connections.
A JdbcAppender connection source that uses a DataSource to connect to the database.
Formats the current date or the date in the LogEvent.
Converts and formats the event's date in a StringBuilder.
Deprecated.
Starting with version 2.25.0, this class is assumed to be internal and planned to be removed in the next major release.
Utility methods for Date classes.
Wraps a database exception like a JDBC SQLException.
The default advertiser does not do anything.
Default Condition for a Select Condition.
 
Default router: enqueue the event for asynchronous logging in the background thread, unless the current thread is the background thread and the queue is full (enqueueing would cause a deadlock).
The default configuration writes all output to the Console using the default logging level.
 
The default ErrorHandler implementation falling back to StatusLogger.
Creates Apache Kafka Producer instances.
Always creates new LogEvent instances.
Default implementation using the Core LoggerContext.
The default merge strategy for composite configurations.
Default implementation of NoSqlObject.
Reliability strategy that assumes reconfigurations will never take place.
When rolling over, DefaultRolloverStrategy renames files according to an algorithm as described below.
Builds DefaultRolloverStrategy instances.
ShutdownRegistrationStrategy that simply uses Runtime.addShutdownHook(Thread).
Rollover or scheduled action for deleting old log files that are accepted by the specified PathFilters.
FileVisitor that deletes files that are accepted by all PathFilters.
This filter causes all logging events to be dropped.
 
Created by rgoers on 1/12/17.
When rolling over, DirectWriteRolloverStrategy writes directly to the file as resolved by the file pattern.
Builds DirectWriteRolloverStrategy instances.
Discarding router extends the DefaultAsyncQueueFullPolicy by first verifying if the queue is fuller than the specified threshold ratio; if this is the case, log events more specific than the specified threshold level are dropped.
Factory for creating instances of DisruptorBlockingQueue.
A ConnectionSource that uses a JDBC connection string, a user name, and a password to call DriverManager.getConnection(String, String, String).
Builds DriverManagerConnectionSource instances.
Implementation of the NanoClock interface that always returns a fixed value.
Deprecated.
since 2.24.0 use Duration instead.
Compares against a log level that is associated with a context value.
Objects implementing the Encoder interface know how to convert an object to some binary representation and write the result to a ByteBuffer, ideally without creating temporary objects.
Converter that encodes the output from a pattern using a specified format.
Formats the EndOfBatch.
EnumConverter<E extends Enum<E>>
Converts a String into a Enum.
Condition that determines if the specified environment variable is set.
 
Looks up keys from environment variables.
Equals pattern converter.
Equals ignore case pattern converter.
Equals pattern converter.
Appenders may delegate their error handling to ErrorHandlers.
Looks up values from the log event.
Enumeration over the different destinations where a log event can be sent.
 
Deprecated.
Wrapper around Generate.ExtendedLogger.
Deprecated.
ThrowablePatternConverter variant where the rendered StackTraceElements are enriched with the enclosing JAR file and its version information, if available.
 
The facility codes used by the Syslog system.
A JdbcAppender connection source that uses a public static factory method to obtain a Connection or DataSource.
The FailoverAppender will capture exceptions in an Appender and then route the event to a different appender.
The array of failover Appenders.
Deprecated.
Starting with version 2.25.0, this class is assumed to be internal and planned to be removed in the next major release.
Deprecated.
Starting with version 2.25.0, this class is assumed to be internal and planned to be removed in the next major release.
File Appender.
Builds FileAppender instances.
Formats a date by delegating to DatePatternConverter.
Enumerates over supported file extensions for compression.
Returns the event's line location information in a StringBuilder.
Manages actual File I/O for File Appenders.
File rename action.
FileSize utility class.
File utilities.
Watches for changes in a File and performs an action when the file is modified.
Interface that must be implemented to allow custom event filtering.
The result that can returned from a filter method call.
Interface implemented by Classes that allow filtering to occur.
Component builder that can add Filters.
Assembler for constructing Filter Components.
Deprecated.
Starting with version 2.25.0, this class is assumed to be internal and planned to be removed in the next major release.
Enumeration over the supported date/time format patterns.
Fixed time zone formats.
Deprecated.
Starting with version 2.25.0, this class is assumed to be internal and planned to be removed in the next major release.
Modifies the output of a pattern converter for a specified minimum and maximum width and alignment.
Format the event's line location information.
Lays out events in the Graylog Extended Log Format (GELF) 1.1.
 
 
Generates source code for custom or extended logger wrappers.
Generates source code for custom logger wrappers that only provide convenience methods for the specified custom levels, not for the standard built-in levels.
Generates source code for extended logger wrappers that provide convenience methods for the specified custom levels, and by extending org.apache.logging.log4j.spi.ExtendedLoggerWrapper, inherit the convenience methods for the built-in levels provided by the Logger interface.
Java annotation processor that generates GraalVM metadata.
Compresses a file using GZ compression.
Converts Strings to hex.
Highlight pattern converter.
Outputs events as rows in an HTML table on an HTML page.
 
Possible font sizes
TODO Renders an input as HTML output.
Sends log events over HTTP.
Builds HttpAppender instances.
 
 
 
Policy is purging appenders that were not in use specified time in minutes
PathCondition that accepts paths after some count threshold is exceeded during the file tree walk.
PathCondition that accepts paths after the accumulated file size threshold is exceeded during the file tree walk.
Composite PathCondition that only accepts objects that are accepted by all component conditions.
Composite PathCondition that accepts objects that are accepted by any component conditions.
PathCondition that accepts files for deletion if their relative path matches either a glob pattern or a regular expression.
PathCondition that accepts paths that are older than the specified duration.
 
Wrapper PathCondition that accepts objects that are rejected by the wrapped component filter.
Models a point in time, suitable for event timestamps.
Contract for formatting Instants.
Formats an Instant numerically; e.g., formats its epoch1 seconds.
Contract for formatting Instants using a date and time formatting pattern.
 
Formats an integer.
Helps deal with integers.
Helper class providing some async logging-related functionality.
Proxies all the other StrLookups.
Copied from Apache Commons IO revision 1686747.
Renders an input as ANSI escaped output.
Looks up keys related to Java: Java version, JRE version, VM version, and so on.
Factory for creating instances of BlockingQueues backed by JCTools MpscArrayQueue.
 
This Appender writes logging events to a relational database using standard JDBC mechanisms.
 
An AbstractDatabaseManager implementation for relational databases accessed via JDBC.
Provides a read-only StringMap view of a Map<String, String>.
Sends log events to one or more ZeroMQ (JeroMQ) endpoints.
Manager for publishing messages via JeroMq.
Generic JMS Appender plugin for both queues and topics.
 
Consider this class private; it is only public for access by integration tests.
 
Maps JVM input arguments (but not main arguments) using JMX to acquire JVM arguments.
Helper class for closing JNDI resources.
This class can be used to define a custom logger repository.
Looks up keys from JNDI resources.
Manages a JNDI DirContext.
Creates a Node hierarchy from a JSON file.
 
Keeps constants separate from any class that may depend on third party jars.
Note: The JsonLayout should be considered to be deprecated.
 
Parses the output from JsonLayout layout into instances of LogEvent.
This class is borrowed from Jackson.
Sends log events to an Apache Kafka topic.
Builds KafkaAppender instances.
 
Creates Apache Kafka Producer instances.
Configuration of the KeyStore
 
Key/Value pair configuration item.
 
Assembler for constructing KeyValuePair Components.
Class representing the configuration of KeyValue pairs.
An HostnameVerifier which accepts everything.
Lays out a LogEvent in different formats.
Assembler for constructing Layout Components.
This filter returns the onMatch result if the logging level in the event matches the specified logging level exactly.
 
Returns the event's level in a StringBuilder.
Selects the pattern to use based on the Level in the LogEvent.
Custom MarkerPatternSelector builder.
This filter returns the AbstractFilter.onMatch result if the level of the LogEvent is in the range of the configured LevelRangeFilter.minLevel and LevelRangeFilter.maxLevel values, otherwise it returns the AbstractFilter.onMismatch result.
All proper Java frameworks implement some sort of object life cycle.
Status of a life cycle like a LoggerContext.
Extends the LifeCycle interface.
Returns the event's line location information in a StringBuilder.
Formats a line separator.
Factory for creating instances of LinkedTransferQueue.
Consider this class private.
Consider this class private.
Formats a string literal.
Load resources (or images) from various sources.
Classes that use location information should implement this interface.
 
Interface to ensure delivery of log events to the appropriate Appenders while including location information.
ReliabilityStrategy that uses read/write locks to prevent the LoggerConfig from stopping while it is in use.
Encoder for StringBuilders that locks on the ByteBufferDestination.
Factory to locate a ContextSelector and then load a LoggerContext.
A Jackson JSON ObjectMapper initialized for Log4j.
Implementation of a LogEvent.
LogEvent Builder helper class.
Lookup properties of Log4j
Binding for the Log4j API.
Used by Jackson to deserialize a StackTraceElement.
Prefixes thread names with "Log4j2-".
Creates Log4jThreads.
A Jackson XML ObjectMapper initialized for Log4j.
A Jackson ObjectMapper initialized for Log4j.
Provides contextual information about a logged message.
 
Base class for server classes that listen to LogEvents.
Parse the output from a layout into instances of LogEvent.
LoggingEventPatternConverter is a base class for pattern converters that can format information from instances of LoggingEvent.
Common component builder for Logger and RootLogger elements.
The core implementation of the Logger interface.
Serialization proxy class for Logger.
Assembler for constructing Logger Components.
Logger object that is created via configuration.
Builds LoggerConfig instances.
 
 
The root Logger.
Builds LoggerConfig instances.
Implementation of the LoggerConfigAdminMBean interface.
The MBean interface for monitoring and managing a LoggerConfig.
The LoggerContext is the anchor for the logging system.
Provides access to a Core Logger Context.
Implementation of the LoggerContextAdminMBean interface.
The MBean interface for monitoring and managing a LoggerContext.
Indicates that a class requests the current LoggerContext to be injected.
A LoggerFields container.
Formats the Logger FQCN.
Rewrites log event levels for a given logger name.
Formats a logger name.
 
Container of Logger objects.
 
Converts values to lower case.
Parent of all managers that send e-mails.
 
 
A map-based lookup for main arguments.
Creates Manager objects.
Consider this class private.
A Filter that operates on a Map.
A map-based lookup.
Able to handle the contents of the LogEvent's MapMessage and either output the entire contents of the properties in a similar format to the java.util.Hashtable.toString(), or to output the value of a specific key within the Map.
This policy modifies events by replacing or possibly adding keys and values to the MapMessage.
An enumeration to identify whether keys not in the MapMessage should be added or whether only existing keys should be updated.
This filter returns the onMatch result if the marker in the LogEvent is the same as or has the configured marker as a parent.
Looks-up markers.
Returns events' full marker string in a StringBuilder.
Selects the pattern to use based on the Marker in the LogEvent.
Custom MarkerPatternSelector builder.
Appends an event's maker name to a StringBuilder.
Max length pattern converter.
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.
Consider this class private. MementoMessage is intended to be used when we need to make an immutable copy of a Message without forgetting the original Message.getFormat() and Message.getParameters() values.
Memory Mapped File Appender.
Builds RandomAccessFileAppender instances.
Extends OutputStreamManager but instead of using a buffered output stream, this class maps a region of a file into memory and writes to this memory region.
Merges two configurations together
Formats a LogEvent in its Message form.
Returns the event's rendered message in a StringBuilder.
Returns the event's line location information in a StringBuilder.
Builder for MimeMessage instances.
Advertise an entity via ZeroConf/MulticastDNS and the JmDNS library.
An instantaneous point on the time line, used for high-precision log event timestamps.
Mutable implementation of the LogEvent interface.
Filter based on a value in the Thread Context Map (MDC).
 
 
NameAbbreviator generates abbreviated logger and class names.
ContextSelectors that have a name.
Abstract base class for other pattern converters which can return only parts of their name.
 
Provides the high-resolution time stamp used in log events.
Converts and formats the event's nanoTime in a StringBuilder.
Returns the event's NDC in a StringBuilder.
Networking-related convenience methods.
A Configuration node.
This filter returns the onMatch result if there is no marker in the LogEvent.
 
 
This Appender writes logging events to a NoSQL database using a configured NoSQL provider.
Builds ConsoleAppender instances.
Represents a connection to the NoSQL database.
An AbstractDatabaseManager implementation for all NoSQL databases.
Represents a simple POJO object inserted into a NoSQL object.
NoSqlProvider<C extends NoSqlConnection<?,? extends NoSqlObject<?>>>
Implementations of this class are plugins for configuring the NoSqlAppender with the proper provider (MongoDB, etc.).
 
Marks a plugin builder field or plugin factory parameter of type CharSequence that can not be blank.
Validator that checks if a CharSequence is not entirely composed of whitespace.
An Appender that ignores log events.
This configuration defaults to no logging.
Writes all data to the famous /dev/null.
An Iterator over an array of objects.
Triggers a rollover on every restart, but only if the file size is greater than zero.
A convenience class to convert property values to specific types.
Identifies the relative ordering of a ConfigurationFactory plugin.
Comparator for classes annotated with Order.
Appends log events to a given output stream using a layout.
Builds OutputStreamAppender instances.
Manages an OutputStream so that it can be shared by multiple Appenders and will allow appenders to reconfigure without requiring a new stream.
Thrown when the input cannot be parsed.
Decrypt passwords.
PasswordProvider implementations are able to produce a password from somewhere.
Filter that accepts or rejects a candidate Path for deletion.
PathSorter that sorts path by their LastModified attribute.
Defines the interface of classes that can sort Paths.
Tuple of a Path and BasicFileAttributes, used for sorting.
Interface that all PatternConverters must implement.
 
A flexible layout configurable with pattern string.
Custom PatternLayout builder.
 
PatternMatch configuration item.
 
Most of the work of the PatternLayout class is delegated to the PatternParser class.
Parses the rollover pattern.
Pattern strings used throughout Log4j.
Allows different patterns to be used with the PatternLayout based on some selection criteria.
Renders input unchanged.
Annotation that identifies a Class as a Plugin.
Identifies a list of aliases for a Plugin, PluginAttribute, or PluginBuilderAttribute.
Identifies a Plugin Attribute and its default value.
PluginVisitor implementation for PluginAttribute.
Builder class to instantiate and configure a Plugin object using a PluginFactory method or PluginBuilderFactory builder class.
Marks a field as a Plugin Attribute.
PluginVisitor for PluginBuilderAttribute.
Marks a method as a factory for custom Plugin builders.
 
Identifies a parameter or field as a Configuration.
PluginVisitor implementation for PluginConfiguration.
Identifies a parameter as a Plugin and corresponds with an XML element (or equivalent) in configuration files.
PluginVisitor implementation for PluginElement.
Memento object for storing a plugin entry to a cache file.
Identifies a Method as the factory to create the plugin.
Identifies a parameter or field as a LoggerContext.
PluginVisitor implementation for PluginConfiguration.
Loads and manages all the plugins.
Identifies a Plugin configuration Node.
PluginVisitor implementation for PluginNode.
Annotation processor for pre-scanning Log4j 2 plugins.
Registry singleton for PluginType maps partitioned by source type and then by category names.
A Test that checks to see if each class is annotated with the 'Plugin' annotation.
Plugin Descriptor.
Plugin utilities.
Identifies a parameter as a value.
PluginVisitor implementation for PluginValue.
Visitor strategy for parsing data from a Node, doing any relevant type conversion, and returning a parsed value for that variable.
Utility class to locate an appropriate PluginVisitor implementation for an annotation.
Meta-annotation to denote the class name to use that implements PluginVisitor for the annotated annotation.
File POSIX attribute view action.
Builder for the POSIX view attribute action.
Extension of the Clock interface that is able to provide more accurate time information than milliseconds since the epoch.
The Priority used in the Syslog system.
 
Configuration created from a properties file.
Helper builder for parsing properties files into a PropertiesConfiguration.
Creates a PropertiesConfiguration from a properties file.
A lookup designed for Properties defined in the configuration.
Handles properties defined in the configuration.
This policy modifies events by replacing or possibly adding keys and values to the MapMessage.
Represents a key/value pair in the configuration.
Assembler for constructing Property Components.
Enumerates the supported protocols.
Policy for purging routed appenders
File Appender.
Builds RandomAccessFileAppender instances.
Extends OutputStreamManager but instead of using a buffered output stream, this class uses a ByteBuffer and a RandomAccessFile to do the I/O.
Implemented by Configurations that can be reconfigured at runtime.
Utility class for performing common reflective operations.
A filter that matches the given regular expression pattern against messages.
Replace tokens in the LogEvent message.
Replacement pattern converter.
Returns the relative time in milliseconds since JVM Startup.
Interface for objects that know how to ensure delivery of log events to the appropriate appenders, even during and after the configuration has been modified while the system is actively used.
Factory for ReliabilityStrategies.
Equals pattern converter.
Marks a plugin builder field or plugin factory parameter as required.
Validator that checks an object for emptiness.
ResolverUtil is used to locate classes that are available in the/a class path and meet arbitrary conditions.
A simple interface that specifies how to test classes to determine if they are to be included in the results produced by the ResolverUtil.
Looks up keys from resource bundles.
Garbage-free LogEventFactory that reuses a single mutable log event.
This Appender allows the logging event to be manipulated before it is processed by other Appenders.
Interface to be implemented by components that support modifications to the LogEvent.
Enumerates the RFC 1349 TOS field.
Formats a log event in accordance with RFC 5424.
 
Instruments an LMAX Disruptor ring buffer.
The MBean interface for monitoring and managing an LMAX Disruptor ring buffer.
When the Disruptor is started, the RingBuffer is populated with event objects.
Deprecated.
Only used internally, will be removed in the next major version.
This class is responsible for writing elements that make up a log event into the ringbuffer RingBufferLogEvent.
An appender that writes to files and can roll over at intervals.
Builds FileAppender instances.
The Rolling File Manager.
An appender that writes to random access files and can roll over at intervals.
 
Extends RollingFileManager but instead of using a buffered output stream, this class uses a ByteBuffer and a RandomAccessFile to do the I/O.
Description of actions needed to complete rollover.
Description of actions needed to complete rollover.
Enumeration of rollover frequency values.
Implementations of this interface that are registered with the RollingFileManager will be notified before and after a rollover occurs.
A RollingPolicy specifies the actions taken on a logging file rollover.
Assembler for constructing the root Logger Components.
ThrowablePatternConverter variant where the stack trace causal chain is rendered in reverse order.
A Route to an appender.
Contains the individual Route elements.
 
This Appender "routes" between various Appenders, some of which can be references to Appenders defined earlier in the configuration while others can be dynamically created within this Appender as required.
 
RuntimeStrSubstitutor is a StrSubstitutor which only supports evaluation of top-level lookups.
Annotation that identifies a Class as requiring a Scheduled thread.
Container for the language and body of a script.
 
Builds an appender.
Condition that evaluates a script.
 
Assembler for constructing Layout Components.
A condition of the DeleteAction where a user-provided script selects the files to delete from a provided list.
Container for the language and body of a script file along with the file location.
Assembler for constructing ScriptFile Components.
Returns the onMatch result if the script returns True and returns the onMismatch value otherwise.
Manages the scripts use by the Configuration.
Selects the pattern to use based on the result of executing a Script.
Custom ScriptPatternSelector builder.
Contains a reference to a script defined elsewhere in the configuration.
A container of Scripts.
Factory class to provide a SecretKey instance.
Class Description goes here.
 
Formats the event sequence number.
Deprecated.
Java Serialization has inherent security weaknesses, see https://www.owasp.org/index.php/Deserialization_of_untrusted_data .
Creates MBeans to instrument various classes in the log4j class hierarchy.
Severity values used by the Syslog system.
Registry used for Runnable shutdown callback instances.
Consider this class private.
 
Send an e-mail when a specific logging event occurs, typically on errors or fatal errors.
 
Manager for sending SMTP events.
Factory to create the SMTP Manager.
Plugin to hold a hostname and port (socket address).
 
An Appender that delivers events over socket connections.
Subclasses can extend this abstract Builder.
Builds a SocketAppender.
Holds all socket options settable via Socket methods.
Holds all socket options settable via Socket.setPerformancePreferences(int, int, int).
FileVisitor that sorts files.
Represents the source for the logging configuration as an immutable object.
SSL Configuration
 
 
Creates an SSL configuration from Log4j properties.
 
Defines constants use for naming stack trace elements.
Configuration for setting up the StatusLogger fallback listener.
Deprecated.
This class is not used anymore and only kept for binary backward compatibility.
Implementation of the StatusLoggerAdminMBean interface.
The MBean interface for monitoring and managing the StatusLogger.
 
 
Encoder for StringBuilders that uses ThreadLocals to avoid locking as much as possible.
Writer implementation that outputs to a StringBuilder.
Encodes Strings to bytes.
Instantiates the Layout type for String-based layouts.
This filter returns the onMatch result if the logging level in the event matches the specified logging level exactly.
 
Lookup a String key to a String value.
A matcher class that can be queried to determine if a character array portion matches.
Substitutes variables within a string by values.
Filter based on data in a StructuredDataMessage.
Looks up keys from StructuredDataMessage log messages.
Style pattern converter.
The Syslog Appender.
 
Formats a log event as a BSD Log record.
Builds a SyslogLayout.
Implementation of the Clock interface that returns the system time.
Implementation of the Clock interface that returns the system time in millisecond granularity.
Implementation of the NanoClock interface that returns the system nano time.
Looks up keys from system properties.
Condition that determines if the specified property is set.
 
Manager of TCP Socket connections.
 
TcpSocketManager.TcpSocketManagerFactory<M extends TcpSocketManager,T extends org.apache.logging.log4j.core.net.TcpSocketManager.FactoryData>
Factory to create a TcpSocketManager.
Helper class to encode text to binary data without allocating temporary objects.
Parses the output from a text based layout into instances of LogEvent.
Renders an input to an output.
ThreadContextDataInjector contains a number of strategies for copying key-value pairs from the various ThreadContext map implementations into a StringMap.
The ContextDataInjector used when the ThreadContextMap implementation is a copy-on-write StringMap-based data structure.
Default ContextDataInjector for the legacy Map<String, String>-based ThreadContext (which is also the ThreadContext implementation used for web applications).
The ContextDataInjector used when the ThreadContextMap implementation is a garbage-free StringMap-based data structure.
ContextDataProvider for ThreadContext data.
Filter based on a value in the Thread Context Map (MDC).
Formats the event thread ID.
Strategy for deciding whether thread name should be cached or not.
Formats the event thread name.
Formats the event thread priority.
This filter returns the onMatch result if the level in the LogEvent is the same or more specific than the configured level and the onMismatch value otherwise.
Contains options which control how a Throwable pattern is formatted.
Outputs certain information extracted from the Throwable associated with a LogEvent.
Deprecated.
Helps with Throwable objects.
Rolls a file over based on time.
 
Filters events that fall within a specified time period in each day.
Wraps messages that are formatted according to RFC 5425.
Utility class for transforming strings.
A TriggeringPolicy controls the conditions under which rollover occurs.
Configuration of the TrustStore
 
Interface for doing automatic String conversion to a specific type.
Registry for TypeConverter plugins.
Collection of basic TypeConverter implementations.
Parses a String into a BigDecimal.
Parses a String into a BigInteger.
Converts a String into a Boolean.
Converts a String into a byte[].
Converts a String into a Byte.
Converts a String into a Character.
Converts a String into a char[].
Converts a String into a Charset.
Converts a String into a Class.
 
Converts a String into a Double.
Deprecated.
since 2.24.0.
Converts a String into a File.
Converts a String into a Float.
Converts a String into an InetAddress.
Converts a String into a Integer.
Converts a String into a Log4j Level.
Converts a String into a Long.
Converts a String into a Path.
Converts a String into a Pattern.
Converts a String into a Provider.
Converts a String into a Short.
Returns the given String, no conversion takes place.
Converts a String into a URI.
Converts a String into a URL.
Converts a String into a UUID.
Utility class for working with Java Types and derivatives.
Converts values to upper case.
Constructs an HTTPURLConnection.
Formats the event sequence number.
Generates a unique ID.
Indicates that a plugin attribute must be a valid host.
Validator that checks an object to verify it is a valid hostname or IP address.
Indicates that a plugin attribute must be a valid port number.
Validator that checks an object to verify it is a valid port number (an integer between 0 and 65535).
VariablesNotEmpty pattern converter.
 
Watches for changes in a Source and performs an action when it is modified.
Creates Watchers of various types.
 
Manages FileWatchers.
 
Appends log events to a Writer.
Builds WriterAppender instances.
Manages a Writer so that it can be shared by multiple Appenders and will allow appenders to reconfigure without requiring a new writer.
Creates a Node hierarchy from an XML file.
Factory to construct an XmlConfiguration.
Keeps constants separate from any class that may depend on third party jars.
Appends a series of event elements as defined in the Log4j-events.xsd.
 
Parses the output from XmlLayout layout into instances of LogEvent.
 
 
Appends a series of YAML events as strings serialized as bytes.
 
Parses the output from YamlLayout layout into instances of LogEvent.
Compresses a file using Zip compression.