Log4j 0.9.1

org.log4j
Class AsyncAppender

java.lang.Object
  |
  +--org.log4j.AppenderSkeleton
        |
        +--org.log4j.AsyncAppender
All Implemented Interfaces:
Appender, AppenderAttachable, OptionHandler

public class AsyncAppender
extends AppenderSkeleton
implements AppenderAttachable

The AsyncAppender lets users log events asynchronously. It uses a bounded buffer to store logging events.

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 bounded buffer.

Refer to the results in Logging for the impact of using this appender.

Since:
version 0.9.1
Author:
Ceki Gülcü

Fields inherited from class org.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold, THRESHOLD_OPTION
 
Constructor Summary
AsyncAppender()
           
 
Method Summary
 void addAppender(Appender newAppender)
          Add an appender.
 void append(LoggingEvent event)
          Subclasses of AppenderSkeleton should imlement this method to perform actual logging.
 void close()
          Close this AsyncAppender by interrupting the dispatcher thread which will process all pending events before exiting.
 Enumeration getAllAppenders()
          Get all previously appenders as an Enumeration.
 Appender getAppender(String name)
          Get an appender by name.
 void removeAllAppenders()
          Remove all previously added appenders.
 void removeAppender(Appender appender)
          Remove the appender passed as parameter form the list of appenders.
 void removeAppender(String name)
          Remove the appender with the name passed as parameter form the list of appenders.
 boolean requiresLayout()
          The AsyncAppender does not require a layout.
 
Methods inherited from class org.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFirstFilter, getName, getOptionStrings, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setOption, setThreshold
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AsyncAppender

public AsyncAppender()
Method Detail

addAppender

public void addAppender(Appender newAppender)
Description copied from interface: AppenderAttachable
Add an appender.
Specified by:
addAppender in interface AppenderAttachable

append

public void append(LoggingEvent event)
Description copied from class: AppenderSkeleton
Subclasses of AppenderSkeleton should imlement this method to perform actual logging. See also AppenderSkeleton.doAppend method.
Overrides:
append in class AppenderSkeleton

close

public void close()
Close this AsyncAppender by interrupting the dispatcher thread which will process all pending events before exiting.

getAllAppenders

public Enumeration getAllAppenders()
Description copied from interface: AppenderAttachable
Get all previously appenders as an Enumeration.
Specified by:
getAllAppenders in interface AppenderAttachable

getAppender

public Appender getAppender(String name)
Description copied from interface: AppenderAttachable
Get an appender by name.
Specified by:
getAppender in interface AppenderAttachable

requiresLayout

public boolean requiresLayout()
The AsyncAppender does not require a layout. Hence, this method always returns false.

removeAllAppenders

public void removeAllAppenders()
Description copied from interface: AppenderAttachable
Remove all previously added appenders.
Specified by:
removeAllAppenders in interface AppenderAttachable

removeAppender

public void removeAppender(Appender appender)
Description copied from interface: AppenderAttachable
Remove the appender passed as parameter form the list of appenders.
Specified by:
removeAppender in interface AppenderAttachable

removeAppender

public void removeAppender(String name)
Description copied from interface: AppenderAttachable
Remove the appender with the name passed as parameter form the list of appenders.
Specified by:
removeAppender in interface AppenderAttachable

Log4j 0.9.1

Please notify me about new log4j releases.