JBoss Log Manager 1.3.2.Final-redhat-1

org.jboss.logmanager.handlers
Class QueueHandler

java.lang.Object
  extended by java.util.logging.Handler
      extended by org.jboss.logmanager.ExtHandler
          extended by org.jboss.logmanager.handlers.QueueHandler
All Implemented Interfaces:
Closeable, Flushable, FlushableCloseable, Protectable

public class QueueHandler
extends ExtHandler

A queue handler which retains the last few messages logged. The handler can be used as-is to remember recent messages, or one or more handlers may be nested, which allows this handler to "replay" messages to the child handler(s) upon request.

Author:
David M. Lloyd

Field Summary
 
Fields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater
 
Constructor Summary
QueueHandler()
          Construct a new instance with a default queue length.
QueueHandler(int limit)
          Construct a new instance.
 
Method Summary
protected  void doPublish(ExtLogRecord record)
          Do the actual work of publication; the record will have been filtered already.
 int getLimit()
          Get the queue length limit.
 ExtLogRecord[] getQueue()
          Get a copy of the queue as it is at an exact moment in time.
 String[] getQueueAsStrings()
          Get a copy of the queue, rendering each record as a string.
 void replay()
          Replay the stored queue to the nested handlers.
 void setLimit(int limit)
          Set the queue length limit.
 
Methods inherited from class org.jboss.logmanager.ExtHandler
addHandler, checkAccess, checkAccess, clearHandlers, close, disableAccess, enableAccess, flush, getHandlers, isAutoFlush, isEnabled, protect, publish, publish, removeHandler, setAutoFlush, setEnabled, setEncoding, setErrorManager, setFilter, setFormatter, setHandlers, setLevel, unprotect
 
Methods inherited from class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueueHandler

public QueueHandler()
Construct a new instance with a default queue length.


QueueHandler

public QueueHandler(int limit)
Construct a new instance.

Parameters:
limit - the queue length to use
Method Detail

doPublish

protected void doPublish(ExtLogRecord record)
Description copied from class: ExtHandler
Do the actual work of publication; the record will have been filtered already. The default implementation does nothing except to flush if the autoFlush property is set to true; if this behavior is to be preserved in a subclass then this method should be called after the record is physically written.

Overrides:
doPublish in class ExtHandler
Parameters:
record - the log record to publish

getLimit

public int getLimit()
Get the queue length limit. This is the number of messages that will be saved before old messages roll off of the queue.

Returns:
the queue length limit

setLimit

public void setLimit(int limit)
Set the queue length limit. This is the number of messages that will be saved before old messages roll off of the queue.

Parameters:
limit - the queue length limit

getQueue

public ExtLogRecord[] getQueue()
Get a copy of the queue as it is at an exact moment in time.

Returns:
the copy of the queue

getQueueAsStrings

public String[] getQueueAsStrings()
Get a copy of the queue, rendering each record as a string.

Returns:
the copy of the queue rendered as strings

replay

public void replay()
Replay the stored queue to the nested handlers.


JBoss Log Manager 1.3.2.Final-redhat-1

Copyright © 2012 JBoss by Red Hat. All Rights Reserved.