Class XmlConfiguration

    • Method Detail

      • addAppenderIfAbsent

        public void addAppenderIfAbsent​(Appender appender)
      • doConfigure

        public void doConfigure()
                         throws javax.xml.parsers.FactoryConfigurationError
        Configure log4j by reading in a log4j.dtd compliant XML configuration file.
        Overrides:
        doConfigure in class AbstractConfiguration
        Throws:
        javax.xml.parsers.FactoryConfigurationError
      • doConfigure

        private void doConfigure​(XmlConfiguration.ParseAction action)
                          throws javax.xml.parsers.FactoryConfigurationError
        Throws:
        javax.xml.parsers.FactoryConfigurationError
      • parseUnrecognizedElement

        private void parseUnrecognizedElement​(java.lang.Object instance,
                                              org.w3c.dom.Element element,
                                              java.util.Properties props)
                                       throws java.lang.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:
        java.io.IOException - thrown if configuration of owner object should be abandoned.
        java.lang.Exception
      • quietParseUnrecognizedElement

        private void quietParseUnrecognizedElement​(java.lang.Object instance,
                                                   org.w3c.dom.Element element,
                                                   java.util.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
      • subst

        public java.lang.String subst​(java.lang.String value,
                                      java.util.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.
      • setParameter

        public void setParameter​(org.w3c.dom.Element elem,
                                 PropertySetter propSetter,
                                 java.util.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 java.lang.Object parseElement​(org.w3c.dom.Element element,
                                             java.util.Properties props,
                                             java.lang.Class expectedClass)
                                      throws java.lang.Exception
        Creates an object 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:
        java.lang.Exception - thrown if the contain object should be abandoned.
        Since:
        1.2.15
      • findAppenderByName

        private Appender findAppenderByName​(org.w3c.dom.Document doc,
                                            java.lang.String appenderName)
        Used internally to parse appenders by IDREF name.
      • findAppenderByReference

        public Appender findAppenderByReference​(org.w3c.dom.Element appenderRef)
        Used internally to parse appenders by IDREF element.
      • parseAppender

        public Appender parseAppender​(org.w3c.dom.Element appenderElement)
        Used internally to parse an appender element.
      • buildAppender

        private Appender buildAppender​(java.lang.String className,
                                       org.w3c.dom.Element appenderElement)
      • parseRewritePolicy

        public RewritePolicy parseRewritePolicy​(org.w3c.dom.Element rewritePolicyElement)
      • buildRewritePolicy

        private RewritePolicy buildRewritePolicy​(java.lang.String className,
                                                 org.w3c.dom.Element element)
      • parseErrorHandler

        private void parseErrorHandler​(org.w3c.dom.Element element,
                                       Appender appender)
        Used internally to parse an ErrorHandler element.
      • parseFilters

        public Filter parseFilters​(org.w3c.dom.Element filterElement)
        Used internally to parse a filter element.
      • parseCategory

        private void parseCategory​(org.w3c.dom.Element loggerElement)
        Used internally to parse an category element.
      • parseRoot

        private void parseRoot​(org.w3c.dom.Element rootElement)
        Used internally to parse the roor category element.
      • parseChildrenOfLoggerElement

        private void parseChildrenOfLoggerElement​(org.w3c.dom.Element catElement,
                                                  LoggerConfig loggerConfig,
                                                  boolean isRoot)
        Used internally to parse the children of a LoggerConfig element.
      • parseLayout

        public Layout parseLayout​(org.w3c.dom.Element layoutElement)
        Used internally to parse a layout element.
      • buildLayout

        private Layout buildLayout​(java.lang.String className,
                                   org.w3c.dom.Element layout_element)
      • parseLevel

        private void parseLevel​(org.w3c.dom.Element element,
                                LoggerConfig logger,
                                boolean isRoot)
        Used internally to parse a level element.
      • setParameter

        private void setParameter​(org.w3c.dom.Element elem,
                                  PropertySetter propSetter)
      • parse

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

        private java.lang.String subst​(java.lang.String value)
      • forEachElement

        public static void forEachElement​(org.w3c.dom.NodeList list,
                                          java.util.function.Consumer<org.w3c.dom.Element> consumer)