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
public class WriterHandler extends ExtHandler
A handler which writes to anyWriter
.
-
-
Field Summary
Fields Modifier and Type Field Description protected Object
outputLock
-
Fields inherited from class org.jboss.logmanager.ExtHandler
handlers, handlersUpdater
-
-
Constructor Summary
Constructors Constructor Description WriterHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
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
safeClose(Closeable c)
Safely close the resource, reporting an error if the close fails.void
setWriter(Writer writer)
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 Detail
-
outputLock
protected final Object outputLock
-
-
Method Detail
-
doPublish
protected void doPublish(ExtLogRecord record)
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
protected void preWrite(ExtLogRecord record)
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
public void setWriter(Writer writer)
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
public void close() throws SecurityException
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
protected void safeClose(Closeable c)
Safely close the resource, reporting an error if the close fails.- Parameters:
c
- the resource
-
-