Class DOMConfigurator

java.lang.Object
org.apache.log4j.extras.DOMConfigurator
All Implemented Interfaces:
org.apache.log4j.spi.Configurator

public class DOMConfigurator extends Object implements org.apache.log4j.spi.Configurator
This is a duplicate (with minor modifications) of the log4j 1.2.15 DOMConfigurator renamed for use with earlier versions of log4j.
  • Field Details

  • Constructor Details

    • DOMConfigurator

      public DOMConfigurator()
      No argument constructor.
  • Method Details

    • findAppenderByName

      protected org.apache.log4j.Appender findAppenderByName(Document doc, String appenderName)
      Used internally to parse appenders by IDREF name.
    • findAppenderByReference

      protected org.apache.log4j.Appender findAppenderByReference(Element appenderRef)
      Used internally to parse appenders by IDREF element.
    • parseUnrecognizedElement

      private static void parseUnrecognizedElement(Object instance, Element element, Properties props) throws Exception
      Delegates unrecognized content to created instance if it supports UnrecognizedElementParser.
      Parameters:
      instance - instance, may be null.
      element - element, may not be null.
      props - properties
      Throws:
      IOException - thrown if configuration of owner object should be abandoned.
      Exception
      Since:
      1.2.15
    • quietParseUnrecognizedElement

      private static void quietParseUnrecognizedElement(Object instance, Element element, Properties props)
      Delegates unrecognized content to created instance if it supports UnrecognizedElementParser and catches and logs any exception.
      Parameters:
      instance - instance, may be null.
      element - element, may not be null.
      props - properties
      Since:
      1.2.15
    • parseAppender

      protected org.apache.log4j.Appender parseAppender(Element appenderElement)
      Used internally to parse an appender element.
    • parseErrorHandler

      protected void parseErrorHandler(Element element, org.apache.log4j.Appender appender)
      Used internally to parse an ErrorHandler element.
    • parseFilters

      protected void parseFilters(Element element, org.apache.log4j.Appender appender)
      Used internally to parse a filter 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.
    • parseRoot

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

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

      protected org.apache.log4j.Layout parseLayout(Element layout_element)
      Used internally to parse a layout element.
    • parseRenderer

      protected void parseRenderer(Element element)
    • parseLevel

      protected void parseLevel(Element element, org.apache.log4j.Logger logger, boolean isRoot)
      Used internally to parse a level element.
    • setParameter

      protected void setParameter(Element elem, org.apache.log4j.config.PropertySetter propSetter)
    • configure

      public static void configure(Element element)
      Configure log4j using a configuration element as defined in the log4j.dtd.
    • 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(String filename, org.apache.log4j.spi.LoggerRepository repository)
    • doConfigure

      public void doConfigure(URL url, org.apache.log4j.spi.LoggerRepository repository)
      Specified by:
      doConfigure in interface org.apache.log4j.spi.Configurator
    • doConfigure

      public void doConfigure(InputStream inputStream, org.apache.log4j.spi.LoggerRepository repository) throws FactoryConfigurationError
      Configure log4j by reading in a log4j.dtd compliant XML configuration file.
      Specified by:
      doConfigure in interface org.apache.log4j.spi.Configurator
      Throws:
      FactoryConfigurationError
    • doConfigure

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

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

      private final void doConfigure(DOMConfigurator.ParseAction action, org.apache.log4j.spi.LoggerRepository repository) throws FactoryConfigurationError
      Throws:
      FactoryConfigurationError
    • doConfigure

      public void doConfigure(Element element, org.apache.log4j.spi.LoggerRepository repository)
      Configure by taking in an DOM element.
    • configure

      public static void configure(String filename) throws FactoryConfigurationError
      Throws:
      FactoryConfigurationError
    • configure

      public static void configure(URL url) throws FactoryConfigurationError
      Throws:
      FactoryConfigurationError
    • parse

      protected void parse(Element element)
      Used internally to configure the log4j framework by parsing a DOM tree of XML elements based on log4j.dtd.
    • subst

      protected String subst(String value)
    • subst

      public static String subst(String value, Properties props)
      Substitutes property value for any references in expression.
      Parameters:
      value - value from configuration file, may contain literal text, property references or both
      props - properties.
      Returns:
      evaluated expression, may still contain expressions if unable to expand.
      Since:
      1.2.15
    • setParameter

      public static void setParameter(Element elem, org.apache.log4j.config.PropertySetter propSetter, Properties props)
      Sets a parameter based from configuration file content.
      Parameters:
      elem - param element, may not be null.
      propSetter - property setter, may not be null.
      props - properties
      Since:
      1.2.15
    • parseElement

      public static org.apache.log4j.spi.OptionHandler parseElement(Element element, Properties props, Class expectedClass) throws Exception
      Creates an OptionHandler and processes any nested param elements but does not call activateOptions. If the class also supports UnrecognizedElementParser, the parseUnrecognizedElement method will be call for any child elements other than param.
      Parameters:
      element - element, may not be null.
      props - properties
      expectedClass - interface or class expected to be implemented by created class
      Returns:
      created class or null.
      Throws:
      Exception - thrown if the contain object should be abandoned.
      Since:
      1.2.15