Package org.apache.logging.log4j.core.async
Provides Asynchronous Logger classes and interfaces for low-latency logging.
-
Interface Summary Interface Description AsyncLoggerConfigDelegate Encapsulates the mechanism used to log asynchronously.AsyncQueueFullPolicy Policy for deciding whether to discard the event, enqueue it or log the event on the current thread when the queue is full.BlockingQueueFactory<E> Factory for creating instances ofBlockingQueue
. -
Class Summary Class Description ArrayBlockingQueueFactory<E> Factory for creating instances ofArrayBlockingQueue
.AsyncLogger AsyncLogger is a logger designed for high throughput and low latency logging.AsyncLoggerConfig Asynchronous Logger object that is created via configuration and can be combined with synchronous loggers.AsyncLoggerConfig.RootLogger An asynchronous root Logger.AsyncLoggerConfigDefaultExceptionHandler Default disruptor exception handler for errors that occur in the AsyncLogger background thread.AsyncLoggerConfigDisruptor Helper class decoupling theAsyncLoggerConfig
class from the LMAX Disruptor library.AsyncLoggerConfigDisruptor.Log4jEventWrapper RingBuffer events contain all information necessary to perform the work in a separate thread.AsyncLoggerContext LoggerContext
that createsAsyncLogger
objects.AsyncLoggerContextSelector ContextSelector
that managesAsyncLoggerContext
instances.AsyncLoggerDefaultExceptionHandler Default disruptor exception handler for errors that occur in the AsyncLogger background thread.AsyncQueueFullMessageUtil Consider this class private.AsyncQueueFullPolicyFactory CreatesAsyncQueueFullPolicy
instances based on user-specified system properties.DefaultAsyncQueueFullPolicy 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).DiscardingAsyncQueueFullPolicy 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.InternalAsyncUtil Helper class providing some async logging-related functionality.JCToolsBlockingQueueFactory<E> Factory for creating instances of BlockingQueues backed by JCToolsMpscArrayQueue
.LinkedTransferQueueFactory<E> Factory for creating instances ofLinkedTransferQueue
.RingBufferLogEvent When the Disruptor is started, the RingBuffer is populated with event objects.RingBufferLogEventHandler This event handler gets passed messages from the RingBuffer as they become available.RingBufferLogEventTranslator This class is responsible for writing elements that make up a log event into the ringbufferRingBufferLogEvent
. -
Enum Summary Enum Description EventRoute Enumeration over the different destinations where a log event can be sent.JCToolsBlockingQueueFactory.WaitStrategy ThreadNameCachingStrategy Strategy for deciding whether thread name should be cached or not.