Class DelegatingAsyncDisruptorAppender<Event extends DeferredProcessingAware,Listener extends AppenderListener<Event>>

java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.UnsynchronizedAppenderBase<Event>
net.logstash.logback.appender.AsyncDisruptorAppender<Event,Listener>
net.logstash.logback.appender.DelegatingAsyncDisruptorAppender<Event,Listener>
Type Parameters:
Event - type of event (ILoggingEvent or IAccessEvent).
All Implemented Interfaces:
Appender<Event>, AppenderAttachable<Event>, ContextAware, FilterAttachable<Event>, LifeCycle
Direct Known Subclasses:
AccessEventAsyncDisruptorAppender, LoggingEventAsyncDisruptorAppender

public abstract class DelegatingAsyncDisruptorAppender<Event extends DeferredProcessingAware,Listener extends AppenderListener<Event>> extends AsyncDisruptorAppender<Event,Listener> implements AppenderAttachable<Event>
An AsyncDisruptorAppender that delegates appending of an event to delegate appenders. This is very similar to logback's AsyncAppenderBase, except that:
  • it uses a RingBuffer instead of a BlockingQueue
  • it allows any number of delegate appenders, instead of just one
  • it flushes appenders of type OutputStreamAppender or Flushable at the end of a batch
  • it is resilient to exceptions and guarantees that all appenders are invoked