public class DOMConfigurator extends Object implements Configurator
The DTD is specified in log4j.dtd.
Sometimes it is useful to see how log4j is reading configuration
files. You can enable log4j internal logging by defining the
log4j.debug variable on the java command
line. Alternatively, set the debug
attribute in the
log4j:configuration
element. As in
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> ... </log4j:configuration>This version of DOMConfigurator has been modified to support the definition of groups as described in
Logger
by adding a 'group' element:
<group name="GROUPNAME" level="LEVEL"/>All loggers retrieved via
Logger.getLogger(String, String)
or Logger.getLogger(Class, String)
with the same group name will have their effective level set to the provided level.
This group-defined Level verbosity threshold can be overridden by setting an explicit level on the Logger itself.
There are sample XML files included in the package.
INHERITED, NULL
Constructor and Description |
---|
DOMConfigurator()
No argument constructor.
|
Modifier and Type | Method and Description |
---|---|
static void |
configure(Element element)
Configure log4j using a
configuration element as
defined in the log4j.dtd. |
static void |
configure(String filename)
A static version of
doConfigure(String, LoggerRepository) . |
static void |
configure(URL url)
A static version of
doConfigure(URL, LoggerRepository) . |
static void |
configureAndWatch(String configFilename)
Like
configureAndWatch(String, long) except that the
default delay as defined by FileWatchdog#DEFAULT_DELAY is
used. |
static void |
configureAndWatch(String configFilename,
long delay)
Read the configuration file
configFilename if it
exists. |
void |
doConfigure(Element element,
LoggerRepository repository)
Configure by taking in an DOM element.
|
void |
doConfigure(InputStream inputStream,
LoggerRepository repository)
Configure log4j by reading in a log4j.dtd compliant XML
configuration file.
|
void |
doConfigure(Reader reader,
LoggerRepository repository)
Configure log4j by reading in a log4j.dtd compliant XML
configuration file.
|
void |
doConfigure(String filename,
LoggerRepository repository) |
void |
doConfigure(URL url,
LoggerRepository repository)
Interpret a resource pointed by a URL and set up log4j accordingly.
|
static Object |
parseElement(Element element,
Properties props,
Class expectedClass)
Creates an object and processes any nested param elements
but does not call activateOptions.
|
static void |
setParameter(Element elem,
PropertySetter propSetter,
Properties props)
Sets a parameter based from configuration file content.
|
static String |
subst(String value,
Properties props)
Substitutes property value for any references in expression.
|
public static void configure(Element element)
configuration
element as
defined in the log4j.dtd.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public static void configureAndWatch(String configFilename)
configureAndWatch(String, long)
except that the
default delay as defined by FileWatchdog#DEFAULT_DELAY
is
used.configFilename
- A log4j configuration file in XML format.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public static void configureAndWatch(String configFilename, long delay)
configFilename
if it
exists. Moreover, a thread will be created that will periodically
check if configFilename
has been created or
modified. The period is determined by the delay
argument. If a change or file creation is detected, then
configFilename
is read to configure log4j.configFilename
- A log4j configuration file in XML format.delay
- The delay in milliseconds to wait between each check.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public void doConfigure(String filename, LoggerRepository repository)
SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public void doConfigure(URL url, LoggerRepository repository)
Configurator
hierarchy
parameter.doConfigure
in interface Configurator
url
- The URL to parserepository
- The hierarchy to operation upon.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public void doConfigure(InputStream inputStream, LoggerRepository repository) throws FactoryConfigurationError
SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").FactoryConfigurationError
public void doConfigure(Reader reader, LoggerRepository repository) throws FactoryConfigurationError
SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").FactoryConfigurationError
public void doConfigure(Element element, LoggerRepository repository)
SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public static void configure(String filename) throws FactoryConfigurationError
doConfigure(String, LoggerRepository)
.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").FactoryConfigurationError
public static void configure(URL url) throws FactoryConfigurationError
doConfigure(URL, LoggerRepository)
.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").FactoryConfigurationError
public static String subst(String value, Properties props)
value
- value from configuration file, may contain
literal text, property references or bothprops
- properties.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public static void setParameter(Element elem, PropertySetter propSetter, Properties props)
elem
- param element, may not be null.propSetter
- property setter, may not be null.props
- propertiesSecurityException
- if the caller does not have
MonitorAppPermission("logger.config").public static Object parseElement(Element element, Properties props, Class expectedClass) throws Exception
element
- element, may not be null.props
- propertiesexpectedClass
- interface or class expected to be implemented
by created classException
- thrown if the contain object should be abandoned.SecurityException
- if the caller does not have
MonitorAppPermission("logger.config").Copyright © 2013 CableLabs. All rights reserved.