public class

StreamHandler

extends Handler
java.lang.Object
   ↳ java.util.logging.Handler
     ↳ java.util.logging.StreamHandler
Known Direct Subclasses

Class Overview

A StreamHandler object writes log messages to an output stream, that is, objects of the class OutputStream.

A StreamHandler object reads the following properties from the log manager to initialize itself. A default value will be used if a property is not found or has an invalid value.

  • java.util.logging.StreamHandler.encoding specifies the encoding this handler will use to encode log messages. Default is the encoding used by the current platform.
  • java.util.logging.StreamHandler.filter specifies the name of the filter class to be associated with this handler. No Filter is used by default.
  • java.util.logging.StreamHandler.formatter specifies the name of the formatter class to be associated with this handler. Default is java.util.logging.SimpleFormatter.
  • java.util.logging.StreamHandler.level specifies the logging level. Defaults is Level.INFO.

This class is not thread-safe.

Summary

Public Constructors
StreamHandler()
Constructs a StreamHandler object.
StreamHandler(OutputStream os, Formatter formatter)
Constructs a StreamHandler object with the supplied output stream and formatter.
Public Methods
void close()
Closes this handler.
void flush()
Flushes any buffered output.
boolean isLoggable(LogRecord record)
Determines whether the supplied log record needs to be logged.
synchronized void publish(LogRecord record)
Accepts a logging request.
void setEncoding(String encoding)
Sets the character encoding used by this handler.
Protected Methods
void setOutputStream(OutputStream os)
Sets the output stream this handler writes to.
[Expand]
Inherited Methods
From class java.util.logging.Handler
From class java.lang.Object

Public Constructors

public StreamHandler ()

Since: API Level 1

Constructs a StreamHandler object. The new stream handler does not have an associated output stream.

public StreamHandler (OutputStream os, Formatter formatter)

Since: API Level 1

Constructs a StreamHandler object with the supplied output stream and formatter.

Parameters
os the output stream this handler writes to.
formatter the formatter this handler uses to format the output.
Throws
NullPointerException if os or formatter is null.

Public Methods

public void close ()

Since: API Level 1

Closes this handler. The tail string of the formatter associated with this handler is written out. A flush operation and a subsequent close operation is then performed upon the output stream. Client applications should not use a handler after closing it.

public void flush ()

Since: API Level 1

Flushes any buffered output.

public boolean isLoggable (LogRecord record)

Since: API Level 1

Determines whether the supplied log record needs to be logged. The logging levels are checked as well as the filter. The output stream of this handler is also checked. If it is null, this method returns false.

Notice : Case of no output stream will return false.

Parameters
record the log record to be checked.
Returns
  • true if record needs to be logged, false otherwise.

public synchronized void publish (LogRecord record)

Since: API Level 1

Accepts a logging request. The log record is formatted and written to the output stream if the following three conditions are met:

  • the supplied log record has at least the required logging level;
  • the supplied log record passes the filter associated with this handler, if any;
  • the output stream associated with this handler is not null.
If it is the first time a log record is written out, the head string of the formatter associated with this handler is written out first.

Parameters
record the log record to be logged.

public void setEncoding (String encoding)

Since: API Level 1

Sets the character encoding used by this handler. A null value indicates that the default encoding should be used.

Parameters
encoding the character encoding to set.
Throws
UnsupportedEncodingException if the specified encoding is not supported by the runtime.

Protected Methods

protected void setOutputStream (OutputStream os)

Since: API Level 1

Sets the output stream this handler writes to. If there's an existing output stream, the tail string of the associated formatter will be written to it. Then it will be flushed, closed and replaced with os.

Parameters
os the new output stream.
Throws
NullPointerException if os is null.