java.util.logging
public class LogManager extends Object
LogManager
maintains a hierarchical namespace
of Logger objects and manages properties for configuring the logging
framework. There exists only one single LogManager
per virtual machine. This instance can be retrieved using the
static method {@link #getLogManager()}.
Configuration Process: The global LogManager
object is created and configured when the class
java.util.logging.LogManager
is initialized.
The configuration process includes the subsequent steps:
java.util.logging.manager
is set to the name of a subclass of
java.util.logging.LogManager
, an instance of
that subclass is created and becomes the global LogManager.
Otherwise, a new instance of LogManager is created.LogManager
constructor tries to create
a new instance of the class specified by the system
property java.util.logging.config.class
.
Typically, the constructor of this class will call
LogManager.getLogManager().readConfiguration(java.io.InputStream)
for configuring the logging framework.
The configuration process stops at this point if
the system property java.util.logging.config.class
is set (irrespective of whether the class constructor
could be called or an exception was thrown).java.util.logging.config.class
is not set, the configuration parameters are read in from
a file and passed to
{@link #readConfiguration(java.io.InputStream)}.
The name and location of this file are specified by the system
property java.util.logging.config.file
.java.util.logging.config.file
is not set, however, the contents of the URL
"{gnu.classpath.home.url}/logging.properties" are passed to
{@link #readConfiguration(java.io.InputStream)}.
Here, "{gnu.classpath.home.url}" stands for the value of
the system property gnu.classpath.home.url
.The LogManager
has a level of INFO
by
default, and this will be inherited by Logger
s unless they
override it either by properties or programmatically.
Field Summary | |
---|---|
static String | LOGGING_MXBEAN_NAME
The object name for the logging management bean. |
Constructor Summary | |
---|---|
protected | LogManager() |
Method Summary | |
---|---|
boolean | addLogger(Logger logger)
Adds a named logger. |
void | addPropertyChangeListener(PropertyChangeListener listener)
Registers a listener which will be notified when the
logging properties are re-read. |
void | checkAccess()
Checks whether the current security context allows changing
the configuration of the logging framework. |
Logger | getLogger(String name)
Returns a Logger given its name.
|
Enumeration<String> | getLoggerNames()
Returns an Enumeration of currently registered Logger names.
|
static LoggingMXBean | getLoggingMXBean()
Return the logging bean. |
static LogManager | getLogManager()
Returns the globally shared LogManager instance. |
String | getProperty(String name)
Returns the value of a configuration property as a String. |
void | readConfiguration()
Configures the logging framework by reading a configuration file.
|
void | readConfiguration(InputStream inputStream) |
void | removePropertyChangeListener(PropertyChangeListener listener)
Unregisters a listener.
|
void | reset()
Resets the logging configuration by removing all handlers for
registered named loggers and setting their level to null .
|
Since: 1.5
false
without adding the logger.
The LogManager
only keeps weak references
to registered loggers. Therefore, names can become available
after automatic garbage collection.
Parameters: logger the logger to be added.
Returns: true
if logger
was added,
false
otherwise.
Throws: NullPointerException if name
is
null
.
Throws: SecurityException if a security manager exists and the caller is not granted the permission to control the logging infrastructure.
Parameters: name the name of the logger.
Returns: a named Logger, or null
if there is no
logger with that name.
UNKNOWN: java.lang.NullPointerException if name
is null
.
Returns: an Enumeration with the names of the currently registered Loggers.
Since: 1.5
java.util.logging.config.file
. If this
property is not set, the URL
"{gnu.classpath.home.url}/logging.properties" is taken, where
"{gnu.classpath.home.url}" stands for the value of the system
property gnu.classpath.home.url
.
The task of configuring the framework is then delegated to {@link #readConfiguration(java.io.InputStream)}, which will notify registered listeners after having read the properties.
Throws: SecurityException if a security manager exists and the caller is not granted the permission to control the logging infrastructure, or if the caller is not granted the permission to read the configuration file. IOException if there is a problem reading in the configuration file.
listener
has not been registered previously,
nothing happens. Also, no exception is thrown if
listener
is null
.null
.
The level of the root logger will be set to Level.INFO
.
Throws: SecurityException if a security manager exists and the caller is not granted the permission to control the logging infrastructure.