Class AsyncLogTarget

All Implemented Interfaces:
Runnable, ErrorAware, LogTarget, Closeable

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 Details

    • m_list

      private final LinkedList m_list
    • m_queueSize

      private final int m_queueSize
  • Constructor Details

    • 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 Details