Package org.jboss.logmanager.handlers
Class WriterHandler
java.lang.Object
java.util.logging.Handler
org.jboss.logmanager.ExtHandler
org.jboss.logmanager.handlers.WriterHandler
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,FlushableCloseable
,Protectable
- Direct Known Subclasses:
OutputStreamHandler
A handler which writes to any
Writer
.-
Field Summary
FieldsFields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close this logger.protected void
doPublish
(ExtLogRecord record) Do the actual work of publication; the record will have been filtered already.void
flush()
Flush this logger.protected void
preWrite
(ExtLogRecord record) Execute any pre-write policy, such as file rotation.protected void
Safely close the resource, reporting an error if the close fails.void
Set the writer.Methods inherited from class org.jboss.logmanager.ExtHandler
addHandler, checkAccess, checkAccess, clearHandlers, disableAccess, enableAccess, getHandlers, isAutoFlush, isCallerCalculationRequired, isCloseChildren, isEnabled, protect, publish, publish, removeHandler, setAutoFlush, setCloseChildren, setEnabled, setEncoding, setErrorManager, setFilter, setFormatter, setHandlers, setLevel, unprotect
Methods inherited from class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError
-
Field Details
-
outputLock
-
-
Constructor Details
-
WriterHandler
public WriterHandler()
-
-
Method Details
-
doPublish
Do the actual work of publication; the record will have been filtered already. The default implementation does nothing except to flush if theautoFlush
property 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:
doPublish
in classExtHandler
- Parameters:
record
- the log record to publish
-
preWrite
Execute any pre-write policy, such as file rotation. The write lock is held during this method, so make it quick. The default implementation does nothing.- Parameters:
record
- the record about to be logged
-
setWriter
Set the writer. The writer will then belong to this handler; when the handler is closed or a new writer is set, this writer will be closed.- Parameters:
writer
- the new writer, ornull
to disable logging
-
flush
public void flush()Flush this logger.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classExtHandler
-
close
Close this logger.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classExtHandler
- Throws:
SecurityException
- if the caller does not have sufficient permission
-
safeClose
Safely close the resource, reporting an error if the close fails.- Parameters:
c
- the resource
-