org.apache.log4j
Class AsyncAppender
- Appender, AppenderAttachable, OptionHandler
public class AsyncAppender
The AsyncAppender lets users log events asynchronously.
The AsyncAppender will collect the events sent to it and then dispatch them
to all the appenders that are attached to it. You can attach multiple
appenders to an AsyncAppender.
The AsyncAppender uses a separate thread to serve the events in its buffer.
Important note: The
AsyncAppender
can only be script
configured using the
DOMConfigurator
.
void | addAppender(Appender newAppender) - Add appender.
|
void | append(LoggingEvent event) -
|
void | close() - Close this
AsyncAppender by interrupting the dispatcher
thread which will process all pending events before exiting.
|
Enumeration | getAllAppenders() - Get iterator over attached appenders.
|
Appender | getAppender(String name) - Get appender by name.
|
boolean | getBlocking() - Gets whether appender should block calling thread when buffer is full.
|
int | getBufferSize() - Gets the current buffer size.
|
boolean | getLocationInfo() - Gets whether the location of the logging request call
should be captured.
|
boolean | isAttached(Appender appender) - Determines if specified appender is attached.
|
void | removeAllAppenders() - Removes and closes all attached appenders.
|
void | removeAppender(String name) - Remove appender by name.
|
void | removeAppender(Appender appender) - Removes an appender.
|
boolean | requiresLayout() -
|
void | setBlocking(boolean value) - Sets whether appender should wait if there is no
space available in the event buffer or immediately return.
|
void | setBufferSize(int size) - Sets the number of messages allowed in the event buffer
before the calling thread is blocked (if blocking is true)
or until messages are summarized and discarded.
|
void | setLocationInfo(boolean flag) - The LocationInfo option takes a boolean value.
|
activateOptions , addFilter , append , clearFilters , doAppend , finalize , getErrorHandler , getFilter , getFirstFilter , getLayout , getName , getThreshold , isAsSevereAsThreshold , setErrorHandler , setLayout , setName , setThreshold |
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
The default buffer size is set to 128 events.
AsyncAppender
public AsyncAppender()
Create new instance.
close
public void close()
Close this AsyncAppender
by interrupting the dispatcher
thread which will process all pending events before exiting.
- close in interface Appender
getAllAppenders
public Enumeration getAllAppenders()
Get iterator over attached appenders.
- getAllAppenders in interface AppenderAttachable
- iterator or null if no attached appenders.
getBlocking
public boolean getBlocking()
Gets whether appender should block calling thread when buffer is full.
If false, messages will be counted by logger and a summary
message appended after the contents of the buffer have been appended.
- true if calling thread will be blocked when buffer is full.
getBufferSize
public int getBufferSize()
Gets the current buffer size.
- the current value of the BufferSize option.
getLocationInfo
public boolean getLocationInfo()
Gets whether the location of the logging request call
should be captured.
- the current value of the LocationInfo option.
setBlocking
public void setBlocking(boolean value)
Sets whether appender should wait if there is no
space available in the event buffer or immediately return.
value
- true if appender should wait until available space in buffer.
setBufferSize
public void setBufferSize(int size)
Sets the number of messages allowed in the event buffer
before the calling thread is blocked (if blocking is true)
or until messages are summarized and discarded. Changing
the size will not affect messages already in the buffer.
size
- buffer size, must be positive.
setLocationInfo
public void setLocationInfo(boolean flag)
The
LocationInfo option takes a boolean value. By default, it is
set to false which means there will be no effort to extract the location
information related to the event. As a result, the event that will be
ultimately logged will likely to contain the wrong location information
(if present in the log format).
Location information extraction is comparatively very slow and should be
avoided unless performance is not a concern.
flag
- true if location information should be extracted.
Copyright 2000-2005 Apache Software Foundation.