java.lang.Object | +--java.util.logging.Handler | +--java.util.logging.MemoryHandler
MemoryHandler() Constructs a |
MemoryHandler(java.util.logging.Handler target, int size, java.util.logging.Level pushLevel) Constructs a |
void | close() Closes this |
void | flush() Forces any data that may have been buffered by the target
|
java.util.logging.Level | getPushLevel() Returns the push level threshold for this |
void | publish(java.util.logging.LogRecord record) Stores a |
void | push() Pushes the contents of the memory buffer to the target
|
void | setPushLevel(java.util.logging.Level pushLevel) Sets the push level threshold for this |
public MemoryHandler()
MemoryHandler
for keeping a circular
buffer of LogRecords; the initial configuration is determined by
the LogManager
properties described above.
public MemoryHandler(java.util.logging.Handler target, int size, java.util.logging.Level pushLevel)
MemoryHandler
for keeping a circular
buffer of LogRecords, given some parameters. The values of the
other parameters are taken from LogManager properties, as
described above.
target
- the target handler that will receive those
log records that are passed on for publication.size
- the number of log records that are kept in the buffer.pushLevel
- the push level threshold for this
MemoryHandler
.IllegalArgumentException
- if size
is negative or zero.public void close()
MemoryHandler
and its associated target
handler, discarding the contents of the memory buffer. However,
any data that may have been buffered by the target
Handler
is forced to the underlying output device.
As soon as close
has been called,
a Handler
should not be used anymore. Attempts
to publish log records, to flush buffers, or to modify the
Handler
in any other way may throw runtime
exceptions after calling close
.
In case of an I/O failure, the ErrorManager
of
the associated target Handler
will be informed, but
the caller of this method will not receive an exception.
SecurityException
- if a security manager exists and
the caller is not granted the permission to control
the logging infrastructure.public void flush()
Handler
to the underlying output device, but
does not push the contents of the circular memory
buffer to the target handler.
In case of an I/O failure, the ErrorManager of the
target Handler
will be notified, but the caller of
this method will not receive an exception.
public Level getPushLevel()
Handler
.
When a record is published whose severity level is greater
than or equal to the pushLevel
of this
MemoryHandler
, the #push() method will be
invoked for pushing the buffer contents to the target
Handler
.
public void publish(java.util.logging.LogRecord record)
LogRecord
in a fixed-size circular buffer,
provided the record passes all tests for being loggable. If the
buffer is full, the oldest record will be discarded.
If the record has a severity level which is greater than or
equal to the pushLevel
of this
MemoryHandler
, the #push() method will be
invoked for pushing the buffer contents to the target
Handler
.
Most applications do not need to call this method directly. Instead, they will use use a Logger, which will create LogRecords and distribute them to registered handlers.
record
- the log event to be published.public void push()
Handler
and clears the buffer. Note that
the target handler will discard those records that do
not satisfy its own severity level threshold, or that are
not considered loggable by an installed Filter.
In case of an I/O failure, the ErrorManager of the
target Handler
will be notified, but the caller of
this method will not receive an exception.
public void setPushLevel(java.util.logging.Level pushLevel)
Handler
.
When a record is published whose severity level is greater
than or equal to the pushLevel
of this
MemoryHandler
, the #push() method will be
invoked for pushing the buffer contents to the target
Handler
.
pushLevel
- the push level threshold for automatic pushing.SecurityException
- if a security manager exists and
the caller is not granted the permission to control
the logging infrastructure.NullPointerException
- if pushLevel
is
null
.
MemoryHandler
maintains a circular buffer of log records.Configuration: Values of the subsequent
LogManager
properties are taken into consideration when aMemoryHandler
is initialized. If a property is not defined, or if it has an invalid value, a default is taken without an exception being thrown.java.util.MemoryHandler.level
- specifies the initial severity level threshold. Default value:Level.ALL
.java.util.MemoryHandler.filter
- specifies the name of a Filter class. Default value: No Filter.java.util.MemoryHandler.size
- specifies the maximum number of log records that are kept in the circular buffer. Default value: 1000.java.util.MemoryHandler.push
- specifies thepushLevel
. Default value:Level.SEVERE
.java.util.MemoryHandler.target
- specifies the name of a subclass of Handler that will be used as the target handler. There is no default value for this property; if it is not set, the no-argument MemoryHandler constructor will throw an exception.