Package org.jboss.logmanager.handlers

# Class OutputStreamHandler

java.lang.Object
java.util.logging.Handler
org.jboss.logmanager.ExtHandler
org.jboss.logmanager.handlers.WriterHandler
org.jboss.logmanager.handlers.OutputStreamHandler

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`, `FlushableCloseable`, `Protectable`

Direct Known Subclasses:
  `ConsoleHandler`, `FileHandler`

public class OutputStreamHandler extends WriterHandler
An output stream handler which supports any `OutputStream`, using the specified encoding. If no encoding is specified, the platform default is used.

## Field Summary

### Fields inherited from class org.jboss.logmanager.handlers.WriterHandler

`outputLock`

### Fields inherited from class org.jboss.logmanager.ExtHandler

`handlers, handlersUpdater`

## Constructor Summary

Constructors
Constructor
Description
`OutputStreamHandler()`
Construct a new instance with no formatter.
`OutputStreamHandler(OutputStream outputStream, Formatter formatter)`
Construct a new instance.
`OutputStreamHandler(Formatter formatter)`
Construct a new instance.

## Method Summary

Modifier and Type
Method
Description
`String`
`getEncoding()`
Get the target encoding.
`void`
`setEncoding(String encoding)`
Set the target encoding.
`void`
`setOutputStream(OutputStream outputStream)`
Set the output stream to write to.
`void`
`setWriter(Writer writer)`
Set the writer.

### Methods inherited from class org.jboss.logmanager.handlers.WriterHandler

`close, doPublish, flush, preWrite, safeClose`

### 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, setErrorManager, setFilter, setFormatter, setHandlers, setLevel, unprotect`

### Methods inherited from class java.util.logging.Handler

`getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### OutputStreamHandler

public OutputStreamHandler()
Construct a new instance with no formatter.

### OutputStreamHandler

public OutputStreamHandler(Formatter formatter)
Construct a new instance.

Parameters:
  `formatter` - the formatter to use

### OutputStreamHandler

public OutputStreamHandler(OutputStream outputStream, Formatter formatter)
Construct a new instance.

Parameters:
  `outputStream` - the output stream to use
  `formatter` - the formatter to use

## Method Details

### getEncoding

public String getEncoding()
Get the target encoding.

Overrides:
  `getEncoding` in class `Handler`
Returns:
  the target encoding, or `null` if the platform default is being used

### setEncoding

public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
Set the target encoding.

Overrides:
  `setEncoding` in class `ExtHandler`
Parameters:
  `encoding` - the new encoding
Throws:
  `SecurityException` - if you do not have sufficient permission to invoke this operation
  `UnsupportedEncodingException` - if the specified encoding is not supported

### 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. Setting a writer will replace any target output stream.

Overrides:
  `setWriter` in class `WriterHandler`
Parameters:
  `writer` - the new writer, or `null` to disable logging

### setOutputStream

public void setOutputStream(OutputStream outputStream)
Set the output stream to write to. The output stream will then belong to this handler; when the handler is closed or a new writer or output stream is set, this output stream will be closed.

Parameters:
  `outputStream` - the new output stream or `null` for none