Name
Handler
Synopsis
A Handler
takes LogRecord
objects from a Logger
and, if their severity level
is high enough, formats and publishes them to some destination (a
file or socket, for example). The subclasses of this abstract class
support various destinations, and implement destination-specific
publish( )
, flush( )
and
close( )
methods.
In addition to the destination-specific abstract methods, this class
also defines concrete methods used by most Handler
subclasses. These are property getter and setter methods to specify
the severity Level
of logging messages to be
handled, an optional Filter
, a
Formatter
to convert log messages from
LogRecord
objects to text, a text encoding for the
output text, and an ErrorManager
to handle any
exceptions that arise during log output. Subclass-specific defaults
for each of these properties are typically defined as properties of
LogManager and are read from a system-wide logging configuration
file.
In the simplest uses of the Logging API, a Logger
sends it log messages to one or more handlers defined by the
LogManager
class for its “root
logger”. In this case there is no need for the
application to ever instantiate or use a Handler
directly. Applications that want custom control over the destination
of their logs create and configure an instance of a
Handler
subclass, but never need to call its
publish( )
, flush( )
or
close( )
methods directly: that is done by the
Logger
.
public abstract class Handler { // Protected Constructors protected Handler ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.