org.apache.log.output

Class AsyncLogTarget

public class AsyncLogTarget extends AbstractWrappingTarget implements Runnable

An asynchronous LogTarget that sends entries on in another thread. It is the responsibility of the user of this class to start the thread etc.
 LogTarget mySlowTarget = ...;
 AsyncLogTarget asyncTarget = new AsyncLogTarget( mySlowTarget );
 Thread thread = new Thread( asyncTarget );
 thread.setPriority( Thread.MIN_PRIORITY );
 thread.start();

 logger.setLogTargets( new LogTarget[] { asyncTarget } );
 

Author: Avalon Development Team Peter Donald

Field Summary
LinkedListm_list
intm_queueSize
Constructor Summary
AsyncLogTarget(LogTarget logTarget)
Creation of a new async log target.
AsyncLogTarget(LogTarget logTarget, int queueSize)
Creation of a new async log target.
AsyncLogTarget(LogTarget logTarget, boolean closeTarget)
Creation of a new async log target.
AsyncLogTarget(LogTarget logTarget, int queueSize, boolean closeTarget)
Creation of a new async log target.
Method Summary
voiddoProcessEvent(LogEvent event)
Process a log event by adding it to queue.
voidrun()
Thread startup.
voidsetErrorHandler(ErrorHandler errorHandler)
Provide component with ErrorHandler.

Field Detail

m_list

private final LinkedList m_list

m_queueSize

private final int m_queueSize

Constructor Detail

AsyncLogTarget

public AsyncLogTarget(LogTarget logTarget)
Creation of a new async log target.

Parameters: logTarget the underlying target

AsyncLogTarget

public AsyncLogTarget(LogTarget logTarget, int queueSize)
Creation of a new async log target.

Parameters: logTarget the underlying target queueSize the queue size

AsyncLogTarget

public AsyncLogTarget(LogTarget logTarget, boolean closeTarget)
Creation of a new async log target.

Parameters: logTarget the underlying target closeTarget close the underlying target when this target is closed. This flag has no effect unless the logTarget implements Closeable.

AsyncLogTarget

public AsyncLogTarget(LogTarget logTarget, int queueSize, boolean closeTarget)
Creation of a new async log target.

Parameters: logTarget the underlying target queueSize the queue size closeTarget close the underlying target when this target is closed. This flag has no effect unless the logTarget implements Closeable.

Method Detail

doProcessEvent

public void doProcessEvent(LogEvent event)
Process a log event by adding it to queue.

Parameters: event the log event

run

public void run()
Thread startup.

setErrorHandler

public void setErrorHandler(ErrorHandler errorHandler)
Provide component with ErrorHandler.

Parameters: errorHandler the errorHandler