# Class ConsoleHandler

java.lang.Object
java.util.logging.Handler
java.util.logging.StreamHandler
java.util.logging.ConsoleHandler

public class ConsoleHandler extends StreamHandler
This `Handler` publishes log records to `System.err`. By default the `SimpleFormatter` is used to generate brief summaries.

Configuration: By default each `ConsoleHandler` 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.

- <handler-name>.level specifies the default level for the `Handler` (defaults to `Level.INFO`).
- <handler-name>.filter specifies the name of a `Filter` class to use (defaults to no `Filter`).
- <handler-name>.formatter specifies the name of a `Formatter` class to use (defaults to `java.util.logging.SimpleFormatter`).
- <handler-name>.encoding the name of the character set encoding to use (defaults to the default platform encoding).

For example, the properties for `ConsoleHandler` would be:

- java.util.logging.ConsoleHandler.level=INFO
- java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

For a custom handler, e.g. com.foo.MyHandler, the properties would be:

- com.foo.MyHandler.level=INFO
- com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter

Since:
  1.4

## Constructor Summary

Constructors
Constructor
Description
`ConsoleHandler()`
Create a `ConsoleHandler` for `System.err`.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Override `StreamHandler.close` to do a flush but not to close the output stream.
`void`
`publish(LogRecord record)`
Publish a `LogRecord`.

### Methods declared in class StreamHandler

`flush, isLoggable, setEncoding, setOutputStream`
Modifier and Type
Method
Description
`void`
`flush()`
Flush any buffered messages.
`boolean`
`isLoggable(LogRecord record)`
Check if this `Handler` would actually log a given `LogRecord`.
`void`
`setEncoding(String encoding)`
Set (or change) the character encoding used by this `Handler`.
`protected void`
`setOutputStream(OutputStream out)`
Change the output stream.

### Methods declared in class Handler

`getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel`
Modifier and Type
Method
Description
`String`
`getEncoding()`
Return the character encoding for this `Handler`.
`ErrorManager`
`getErrorManager()`
Retrieves the ErrorManager for this Handler.
`Filter`
`getFilter()`
Get the current `Filter` for this `Handler`.
`Formatter`
`getFormatter()`
Return the `Formatter` for this `Handler`.
`Level`
`getLevel()`
Get the log level specifying which messages will be logged by this `Handler`.
`protected void`
`reportError(String msg, Exception ex, int code)`
Protected convenience method to report an error to this Handler's ErrorManager.
`void`
`setErrorManager(ErrorManager em)`
Define an ErrorManager for this Handler.
`void`
`setFilter(Filter newFilter)`
Set a `Filter` to control output on this `Handler`.
`void`
`setFormatter(Formatter newFormatter)`
Set a `Formatter`.
`void`
`setLevel(Level newLevel)`
Set the log level specifying which message levels will be logged by this `Handler`.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### ConsoleHandler

public ConsoleHandler()
Create a `ConsoleHandler` for `System.err`.

The `ConsoleHandler` is configured based on `LogManager` properties (or their default values).

## Method Details

### publish

public void publish(LogRecord record)
Publish a `LogRecord`.

The logging request was made initially to a `Logger` object, which initialized the `LogRecord` and forwarded it here.

Overrides:
  `publish` in class `StreamHandler`
Implementation Requirements:
  This method is not synchronized, and subclasses must not define overridden `publish()` methods to be `synchronized` if they call `super.publish()` or format user arguments. See the discussion in java.util.logging.Handler for more information.
Parameters:
  `record` - description of the log event. A null record is silently ignored and is not published

### close

public void close()
Override `StreamHandler.close` to do a flush but not to close the output stream. That is, we do not close `System.err`.

Overrides:
  `close` in class `StreamHandler`