E - public class AsyncAppenderBase<E> extends UnsynchronizedAppenderBase<E> implements AppenderAttachable<E>
BlockingQueue. Worker thread created by this appender takes
events from the head of the queue, and dispatches them to the single appender attached to this appender.
Please refer to the logback manual for further information about this appender.
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_MAX_FLUSH_TIME
The default maximum queue flush time allowed during appender stop.
|
static int |
DEFAULT_QUEUE_SIZE
The default buffer size.
|
name, startedcontext| Constructor and Description |
|---|
AsyncAppenderBase() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAppender(Appender<E> newAppender)
Add an appender.
|
protected void |
append(E eventObject) |
void |
detachAndStopAllAppenders()
Detach and processPriorToRemoval all previously added appenders.
|
boolean |
detachAppender(Appender<E> eAppender)
Detach the appender passed as parameter from the list of appenders.
|
boolean |
detachAppender(String name)
Detach the appender with the name passed as parameter from the list of
appenders.
|
Appender<E> |
getAppender(String name)
Get an appender by name.
|
int |
getDiscardingThreshold() |
int |
getMaxFlushTime() |
int |
getNumberOfElementsInQueue()
Returns the number of elements currently in the blocking queue.
|
int |
getQueueSize() |
int |
getRemainingCapacity()
The remaining capacity available in the blocking queue.
|
boolean |
isAttached(Appender<E> eAppender)
Returns
true if the specified appender is in list of
attached attached, false otherwise. |
protected boolean |
isDiscardable(E eventObject)
Is the eventObject passed as parameter discardable? The base class's implementation of this method always returns
'false' but sub-classes may (and do) override this method.
|
boolean |
isNeverBlock() |
Iterator<Appender<E>> |
iteratorForAppenders()
Get an iterator for appenders contained in the parent object.
|
protected void |
preprocess(E eventObject)
Pre-process the event prior to queueing.
|
void |
setDiscardingThreshold(int discardingThreshold) |
void |
setMaxFlushTime(int maxFlushTime) |
void |
setNeverBlock(boolean neverBlock) |
void |
setQueueSize(int queueSize) |
void |
start() |
void |
stop() |
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toStringaddError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContextclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContextpublic static final int DEFAULT_QUEUE_SIZE
public static final int DEFAULT_MAX_FLUSH_TIME
protected boolean isDiscardable(E eventObject)
Note that only if the buffer is nearly full are events discarded. Otherwise, when the buffer is "not full" all events are logged.
eventObject - protected void preprocess(E eventObject)
eventObject - public void start()
start in interface LifeCyclestart in class UnsynchronizedAppenderBase<E>public void stop()
stop in interface LifeCyclestop in class UnsynchronizedAppenderBase<E>protected void append(E eventObject)
append in class UnsynchronizedAppenderBase<E>public int getQueueSize()
public void setQueueSize(int queueSize)
public int getDiscardingThreshold()
public void setDiscardingThreshold(int discardingThreshold)
public int getMaxFlushTime()
public void setMaxFlushTime(int maxFlushTime)
public int getNumberOfElementsInQueue()
public void setNeverBlock(boolean neverBlock)
public boolean isNeverBlock()
public int getRemainingCapacity()
java.util.concurrent.BlockingQueue#remainingCapacity()}public void addAppender(Appender<E> newAppender)
AppenderAttachableaddAppender in interface AppenderAttachable<E>public Iterator<Appender<E>> iteratorForAppenders()
AppenderAttachableiteratorForAppenders in interface AppenderAttachable<E>public Appender<E> getAppender(String name)
AppenderAttachablegetAppender in interface AppenderAttachable<E>public boolean isAttached(Appender<E> eAppender)
AppenderAttachabletrue if the specified appender is in list of
attached attached, false otherwise.isAttached in interface AppenderAttachable<E>public void detachAndStopAllAppenders()
AppenderAttachabledetachAndStopAllAppenders in interface AppenderAttachable<E>public boolean detachAppender(Appender<E> eAppender)
AppenderAttachabledetachAppender in interface AppenderAttachable<E>public boolean detachAppender(String name)
AppenderAttachabledetachAppender in interface AppenderAttachable<E>Copyright © 2005–2021 QOS.ch. All rights reserved.