Package org.apache.logging.log4j.core.async
@Export
@Version("2.24.0")
package org.apache.logging.log4j.core.async
Provides Asynchronous Logger classes and interfaces for low-latency logging.
-
ClassDescriptionFactory for creating instances of
ArrayBlockingQueue
.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.AsyncLoggerConfig.Builder<B extends AsyncLoggerConfig.Builder<B>>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 theAsyncLoggerConfig
class from the LMAX Disruptor library.RingBuffer events contain all information necessary to perform the work in a separate thread.LoggerContext
that createsAsyncLogger
objects.ContextSelector
that managesAsyncLoggerContext
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.CreatesAsyncQueueFullPolicy
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.Returns either this Thread's context or the defaultAsyncLoggerContext
.Factory for creating instances ofBlockingQueue
.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).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 ofDisruptorBlockingQueue
.Enumeration over the different destinations where a log event can be sent.Helper class providing some async logging-related functionality.Factory for creating instances of BlockingQueues backed by JCToolsMpscArrayQueue
.Factory for creating instances ofLinkedTransferQueue
.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 ringbufferRingBufferLogEvent
.Strategy for deciding whether thread name should be cached or not.