org.apache.log4j.xml

Class DOMConfigurator

Implemented Interfaces:
Configurator

public class DOMConfigurator
extends Object
implements Configurator

Use this class to initialize the log4j environment using a DOM tree.

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>

There are sample XML files included in the package.

Authors:
Christopher Taylor
Ceki Gülcü
Anders Kristensen
Since:
0.8.3

Fields inherited from interface org.apache.log4j.spi.Configurator

INHERITED, NULL

Constructor Summary

DOMConfigurator()
No argument constructor.

Method Summary

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.
protected void
doConfigure(InputSource inputSource, LoggerRepository repository)
Configure log4j by reading in a log4j.dtd compliant XML configuration file.
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.
protected Appender
findAppenderByName(Document doc, String appenderName)
Used internally to parse appenders by IDREF name.
protected Appender
findAppenderByReference(Element appenderRef)
Used internally to parse appenders by IDREF element.
protected void
parse(Element element)
Used internally to configure the log4j framework by parsing a DOM tree of XML elements based on log4j.dtd.
protected Appender
parseAppender(Element appenderElement)
Used internally to parse an appender element.
protected void
parseCategory(Element loggerElement)
Used internally to parse an category element.
protected void
parseCategoryFactory(Element factoryElement)
Used internally to parse the category factory element.
protected void
parseChildrenOfLoggerElement(Element catElement, Logger cat, boolean isRoot)
Used internally to parse the children of a category element.
protected void
parseErrorHandler(Element element, Appender appender)
Used internally to parse an ErrorHandler element.
protected void
parseFilters(Element element, Appender appender)
Used internally to parse a filter element.
protected Layout
parseLayout(Element layout_element)
Used internally to parse a layout element.
protected void
parseLevel(Element element, Logger logger, boolean isRoot)
Used internally to parse a level element.
protected void
parseRenderer(Element element)
protected void
parseRoot(Element rootElement)
Used internally to parse the roor category element.
protected void
setParameter(Element elem, PropertySetter propSetter)
protected String
subst(String value)

Constructor Details

DOMConfigurator

public DOMConfigurator()
No argument constructor.

Method Details

configure

public static void configure(Element element)
Configure log4j using a configuration element as defined in the log4j.dtd.

configure

public static void configure(String filename)
            throws FactoryConfigurationError

configure

public static void configure(URL url)
            throws FactoryConfigurationError

configureAndWatch

public static void configureAndWatch(String configFilename)
Like configureAndWatch(String,long) except that the default delay as defined by FileWatchdog.DEFAULT_DELAY is used.
Parameters:
configFilename - A log4j configuration file in XML format.

configureAndWatch

public static void configureAndWatch(String configFilename,
                                     long delay)
Read the configuration file 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.
Parameters:
configFilename - A log4j configuration file in XML format.
delay - The delay in milliseconds to wait between each check.

doConfigure

public void doConfigure(Element element,
                        LoggerRepository repository)
Configure by taking in an DOM element.

doConfigure

protected void doConfigure(InputSource inputSource,
                           LoggerRepository repository)
            throws FactoryConfigurationError
Configure log4j by reading in a log4j.dtd compliant XML configuration file.

doConfigure

public void doConfigure(InputStream inputStream,
                        LoggerRepository repository)
            throws FactoryConfigurationError
Configure log4j by reading in a log4j.dtd compliant XML configuration file.

doConfigure

public void doConfigure(Reader reader,
                        LoggerRepository repository)
            throws FactoryConfigurationError
Configure log4j by reading in a log4j.dtd compliant XML configuration file.

doConfigure

public void doConfigure(String filename,
                        LoggerRepository repository)

doConfigure

public void doConfigure(URL url,
                        LoggerRepository repository)
Interpret a resource pointed by a URL and set up log4j accordingly. The configuration is done relative to the hierarchy parameter.
Specified by:
doConfigure in interface Configurator
Parameters:
url - The URL to parse
repository - The hierarchy to operation upon.

findAppenderByName

protected Appender findAppenderByName(Document doc,
                                      String appenderName)
Used internally to parse appenders by IDREF name.

findAppenderByReference

protected Appender findAppenderByReference(Element appenderRef)
Used internally to parse appenders by IDREF element.

parse

protected void parse(Element element)

parseAppender

protected Appender parseAppender(Element appenderElement)
Used internally to parse an appender element.

parseCategory

protected void parseCategory(Element loggerElement)
Used internally to parse an category element.

parseCategoryFactory

protected void parseCategoryFactory(Element factoryElement)
Used internally to parse the category factory element.

parseChildrenOfLoggerElement

protected void parseChildrenOfLoggerElement(Element catElement,
                                            Logger cat,
                                            boolean isRoot)
Used internally to parse the children of a category element.

parseErrorHandler

protected void parseErrorHandler(Element element,
                                 Appender appender)
Used internally to parse an ErrorHandler element.

parseFilters

protected void parseFilters(Element element,
                            Appender appender)
Used internally to parse a filter element.

parseLayout

protected Layout parseLayout(Element layout_element)
Used internally to parse a layout element.

parseLevel

protected void parseLevel(Element element,
                          Logger logger,
                          boolean isRoot)
Used internally to parse a level element.

parseRenderer

protected void parseRenderer(Element element)

parseRoot

protected void parseRoot(Element rootElement)
Used internally to parse the roor category element.

setParameter

protected void setParameter(Element elem,
                            PropertySetter propSetter)

subst

protected String subst(String value)

Copyright 2000-2005 Apache Software Foundation.