Package org.apache.logging.log4j.core.async
package org.apache.logging.log4j.core.async
Provides Asynchronous Logger classes and interfaces for low-latency logging.
-
ClassDescriptionDefault disruptor exception handler for errors that occur in the AsyncLogger background thread.Factory 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.EventHandler performs 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.Helper class for async loggers: AsyncLoggerDisruptor handles the mechanics of working with the LMAX Disruptor, and works with its associated AsyncLoggerContext to synchronize the life cycle of the Disruptor and its thread with the life cycle of the context.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.Utility methods for getting Disruptor related configuration.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
.BlockingQueue wrapper for JCTools multiple producer single consumer array queue.Factory for creating instances ofLinkedTransferQueue
.When the Disruptor is started, the RingBuffer is populated with event objects.Creates the events that will be put in the RingBuffer.This event handler gets passed messages from the RingBuffer as they become available.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.Blocking strategy that uses a lock and condition variable forinvalid reference
EventProcessor