org.apache.log.output

Class AsyncLogTarget

public class AsyncLogTarget extends AbstractTarget 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

Constructor Summary
AsyncLogTarget(LogTarget logTarget)
Creation of a new async log target.
AsyncLogTarget(LogTarget logTarget, int queueSize)
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.

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

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