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
Add an appender.
|
protected void |
append(E eventObject)
|
void |
detachAndStopAllAppenders()
Detach and processPriorToRemoval all previously added appenders.
|
boolean |
detachAppender(Appender
Detach the appender passed as parameter from the list of appenders.
|
boolean |
detachAppender(String
Detach the appender with the name passed as parameter from the list of appenders.
|
Appender |
getAppender(String
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
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.
|
Iterator |
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 |
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()
public void stop()
protected void append(E eventObject)
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 int getRemainingCapacity()
java.util.concurrent.BlockingQueue#remainingCapacity()}
public void addAppender(Appender<E> newAppender)
AppenderAttachable
public Iterator<Appender <E>> iteratorForAppenders()
AppenderAttachable
public Appender<E> getAppender(String name)
AppenderAttachable
public boolean isAttached(Appender<E> eAppender)
AppenderAttachable
true if the specified appender is in list of attached attached,
false otherwise.
public void detachAndStopAllAppenders()
AppenderAttachable
public boolean detachAppender(Appender<E> eAppender)
AppenderAttachable
public boolean detachAppender(Stringname)
AppenderAttachable