public class StreamHandler extends Handler
This is primarily intended as a base class or support class to be used in implementing other logging Handlers.
LogRecords are published to a given java.io.OutputStream.
Configuration: By default each StreamHandler is initialized using the following LogManager configuration properties where <handler-name> refers to the fully-qualified class name of the handler. If properties are not defined (or have invalid values) then the specified default values are used.
For example, the properties for StreamHandler
would be:
For a custom handler, e.g. com.foo.MyHandler, the properties would be:
Constructor | Description |
---|---|
StreamHandler() |
Create a StreamHandler, with no current output stream.
|
StreamHandler(OutputStream out,
Formatter formatter) |
Create a StreamHandler with a given Formatter
and output stream.
|
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
Close the current output stream.
|
void |
flush() |
Flush any buffered messages.
|
boolean |
isLoggable(LogRecord record) |
Check if this Handler would actually log a given LogRecord.
|
void |
publish(LogRecord record) |
Format and publish a LogRecord.
|
void |
setEncoding(String encoding) |
Set (or change) the character encoding used by this Handler.
|
protected void |
setOutputStream(OutputStream out) |
Change the output stream.
|
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
public StreamHandler()
public StreamHandler(OutputStream out, Formatter formatter)
out
- the target output streamformatter
- Formatter to be used to format outputprotected void setOutputStream(OutputStream out) throws SecurityException
If there is a current output stream then the Formatter's tail string is written and the stream is flushed and closed. Then the output stream is replaced with the new output stream.
out
- New output stream. May not be null.SecurityException
- if a security manager exists and if
the caller does not have LoggingPermission("control").public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
The encoding should be set before any LogRecords are written to the Handler.