Package org.jboss.logmanager.handlers
Class AsyncHandler
java.lang.Object
java.util.logging.Handler
org.jboss.logmanager.ExtHandler
org.jboss.logmanager.handlers.AsyncHandler
- All Implemented Interfaces:
Flushable,AutoCloseable
An asynchronous log handler which is used to write to a handler or group of handlers which are "slow" or introduce
some degree of latency.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater, lock -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new instance.AsyncHandler(int queueLength) Construct a new instance.AsyncHandler(int queueLength, ThreadFactory threadFactory) Construct a new instance.AsyncHandler(ThreadFactory threadFactory) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close all child handlers.protected voiddoPublish(ExtLogRecord record) Do the actual work of publication; the record will have been filtered already.Get the overflow action.intThe full size of the queue.voidsetOverflowAction(AsyncHandler.OverflowAction overflowAction) Set the overflow action.Methods inherited from class org.jboss.logmanager.ExtHandler
addHandler, checkAccess, checkAccess, clearHandlers, flush, getCharset, getEncoding, getErrorManager, getFilter, getFormatter, getHandlers, getLevel, isAutoFlush, isCallerCalculationRequired, isCloseChildren, isEnabled, publish, publish, publishToNestedHandlers, removeHandler, reportError, reportError, setAutoFlush, setCharset, setCharsetPrivate, setCloseChildren, setEnabled, setEncoding, setErrorManager, setFilter, setFormatter, setHandlers, setLevelMethods inherited from class java.util.logging.Handler
isLoggable
-
Constructor Details
-
AsyncHandler
Construct a new instance.- Parameters:
queueLength- the queue lengththreadFactory- the thread factory to use to construct the handler thread
-
AsyncHandler
Construct a new instance.- Parameters:
threadFactory- the thread factory to use to construct the handler thread
-
AsyncHandler
public AsyncHandler(int queueLength) Construct a new instance.- Parameters:
queueLength- the queue length
-
AsyncHandler
public AsyncHandler()Construct a new instance.
-
-
Method Details
-
getQueueLength
public int getQueueLength()The full size of the queue.- Returns:
- the full size of the queue.
-
getOverflowAction
Get the overflow action.- Returns:
- the overflow action
-
setOverflowAction
Set the overflow action.- Parameters:
overflowAction- the overflow action
-
doPublish
Do the actual work of publication; the record will have been filtered already. The default implementation does nothing except to flush if theautoFlushproperty is set totrue; if this behavior is to be preserved in a subclass then this method should be called after the record is physically written.- Overrides:
doPublishin classExtHandler- Parameters:
record- the log record to publish
-
close
Close all child handlers.- Specified by:
closein interfaceAutoCloseable- Overrides:
closein classExtHandler- Throws:
SecurityException
-