@Plugin(name="Async", category="Core", elementType="appender", printObject=true) public final class AsyncAppender extends AbstractAppender
Modifier and Type | Class and Description |
---|---|
static class |
AsyncAppender.Builder<B extends AsyncAppender.Builder<B>> |
LifeCycle.State
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
ELEMENT_TYPE
Modifier and Type | Method and Description |
---|---|
void |
append(LogEvent logEvent)
Actual writing occurs here.
|
static AsyncAppender |
createAppender(AppenderRef[] appenderRefs,
String errorRef,
boolean blocking,
long shutdownTimeout,
int size,
String name,
boolean includeLocation,
Filter filter,
Configuration config,
boolean ignoreExceptions)
Deprecated.
use
AsyncAppender.Builder instead |
String[] |
getAppenderRefStrings()
Returns the names of the appenders that this asyncAppender delegates to as an array of Strings.
|
String |
getErrorRef()
Returns the name of the appender that any errors are logged to or
null . |
int |
getQueueCapacity() |
int |
getQueueRemainingCapacity() |
int |
getQueueSize()
Returns the number of elements in the queue.
|
boolean |
isBlocking()
Returns
true if this AsyncAppender will block when the queue is full, or false if events are
dropped when the queue is full. |
boolean |
isIncludeLocation()
Returns
true if this AsyncAppender will take a snapshot of the stack with every log event to determine
the class and method where the logging call was made. |
void |
logMessageInBackgroundThread(LogEvent logEvent)
FOR INTERNAL USE ONLY.
|
void |
logMessageInCurrentThread(LogEvent logEvent)
FOR INTERNAL USE ONLY.
|
static AsyncAppender.Builder |
newBuilder() |
void |
start()
Make the Filter available for use.
|
boolean |
stop(long timeout,
TimeUnit timeUnit)
Cleanup the Filter.
|
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, setHandler, toSerializable, toString
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, stop
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
public void start()
AbstractFilterable
start
in interface LifeCycle
start
in class AbstractFilterable
public boolean stop(long timeout, TimeUnit timeUnit)
AbstractFilterable
stop
in interface LifeCycle2
stop
in class AbstractFilterable
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumentpublic void append(LogEvent logEvent)
logEvent
- The LogEvent.public void logMessageInCurrentThread(LogEvent logEvent)
logEvent
- the event to logpublic void logMessageInBackgroundThread(LogEvent logEvent)
logEvent
- the event to log@Deprecated public static AsyncAppender createAppender(AppenderRef[] appenderRefs, String errorRef, boolean blocking, long shutdownTimeout, int size, String name, boolean includeLocation, Filter filter, Configuration config, boolean ignoreExceptions)
AsyncAppender.Builder
insteadAsyncAppender.Builder
instead. This factory will use ArrayBlockingQueueFactory
by default as was the behavior
pre-2.7.appenderRefs
- The Appenders to reference.errorRef
- An optional Appender to write to if the queue is full or other errors occur.blocking
- True if the Appender should wait when the queue is full. The default is true.shutdownTimeout
- How many milliseconds the Appender should wait to flush outstanding log events
in the queue on shutdown. The default is zero which means to wait forever.size
- The size of the event queue. The default is 128.name
- The name of the Appender.includeLocation
- whether to include location information. The default is false.filter
- The Filter or null.config
- The Configuration.ignoreExceptions
- If "true"
(default) exceptions encountered when appending events are logged;
otherwise they are propagated to the caller.@PluginBuilderFactory public static AsyncAppender.Builder newBuilder()
public String[] getAppenderRefStrings()
public boolean isIncludeLocation()
true
if this AsyncAppender will take a snapshot of the stack with every log event to determine
the class and method where the logging call was made.true
if location is included with every event, false
otherwisepublic boolean isBlocking()
true
if this AsyncAppender will block when the queue is full, or false
if events are
dropped when the queue is full.public String getErrorRef()
null
.null
public int getQueueCapacity()
public int getQueueRemainingCapacity()
public int getQueueSize()
Copyright © 1999-2019 The Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.