Package org.apache.log4j.xml
Class XmlConfiguration
- java.lang.Object
-
- All Implemented Interfaces:
Configuration
,Reconfigurable
,Filterable
,LifeCycle
,LifeCycle2
public class XmlConfiguration extends Log4j1Configuration
Class Description goes here.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
XmlConfiguration.ConsumerException
private static interface
XmlConfiguration.ParseAction
private static class
XmlConfiguration.SAXErrorHandler
-
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
AbstractFilterable.Builder<B extends AbstractFilterable.Builder<B>>
-
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ADDITIVITY_ATTR
private static java.lang.String
APPENDER_TAG
private java.util.Map<java.lang.String,Appender>
appenderMap
private static java.lang.String
CATEGORY
private static java.lang.String
CATEGORY_FACTORY_TAG
private static java.lang.String
CLASS_ATTR
private static java.lang.String
CONFIG_DEBUG_ATTR
private static java.lang.String
CONFIGURATION_TAG
private static java.lang.String
dbfKey
static long
DEFAULT_DELAY
protected static java.lang.String
DEFAULT_PREFIX
File name prefix for standard configurations.private static java.lang.String
EMPTY_STR
private static java.lang.String
ERROR_HANDLER_TAG
static java.lang.String
FILTER_TAG
private static java.lang.String
INTERNAL_DEBUG_ATTR
static java.lang.String
LAYOUT_TAG
private static java.lang.String
LEVEL_TAG
private static Logger
LOGGER
private static java.lang.String
LOGGER_ELEMENT
private static java.lang.String
LOGGER_FACTORY_TAG
static java.lang.String
NAME_ATTR
private static java.lang.String
OLD_CONFIGURATION_TAG
private static java.lang.Class[]
ONE_STRING_PARAM
static java.lang.String
PARAM_TAG
private static java.lang.String
PRIORITY_TAG
private java.util.Properties
props
static java.lang.String
REF_ATTR
private static java.lang.String
RENDERER_TAG
private static java.lang.String
ROOT_TAG
protected static java.lang.String
TEST_PREFIX
File name prefix for test configurations.private static java.lang.String
THROWABLE_RENDERER_TAG
static java.lang.String
VALUE_ATTR
-
Fields inherited from class org.apache.log4j.config.Log4j1Configuration
APPENDER_REF_TAG, INHERITED, manager, MONITOR_INTERVAL, NULL, THRESHOLD_PARAM
-
Fields inherited from class org.apache.logging.log4j.core.config.AbstractConfiguration
isShutdownHookEnabled, listeners, pluginManager, pluginPackages, rootNode, scriptManager, shutdownTimeoutMillis
-
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT
-
Fields inherited from interface org.apache.logging.log4j.core.config.Configuration
CONTEXT_PROPERTIES
-
-
Constructor Summary
Constructors Constructor Description XmlConfiguration(LoggerContext loggerContext, ConfigurationSource source, int monitorIntervalSeconds)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAppenderIfAbsent(Appender appender)
private Appender
buildAppender(java.lang.String className, org.w3c.dom.Element appenderElement)
private Layout
buildLayout(java.lang.String className, org.w3c.dom.Element layout_element)
private RewritePolicy
buildRewritePolicy(java.lang.String className, org.w3c.dom.Element element)
void
doConfigure()
Configure log4j by reading in a log4j.dtd compliant XML configuration file.private void
doConfigure(XmlConfiguration.ParseAction action)
private Appender
findAppenderByName(org.w3c.dom.Document doc, java.lang.String appenderName)
Used internally to parse appenders by IDREF name.Appender
findAppenderByReference(org.w3c.dom.Element appenderRef)
Used internally to parse appenders by IDREF element.static void
forEachElement(org.w3c.dom.NodeList list, java.util.function.Consumer<org.w3c.dom.Element> consumer)
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.Appender
parseAppender(org.w3c.dom.Element appenderElement)
Used internally to parse an appender element.private void
parseCategory(org.w3c.dom.Element loggerElement)
Used internally to parse an category element.private void
parseChildrenOfLoggerElement(org.w3c.dom.Element catElement, LoggerConfig loggerConfig, boolean isRoot)
Used internally to parse the children of a LoggerConfig element.java.lang.Object
parseElement(org.w3c.dom.Element element, java.util.Properties props, java.lang.Class expectedClass)
Creates an object and processes any nested param elements but does not call activateOptions.private void
parseErrorHandler(org.w3c.dom.Element element, Appender appender)
Used internally to parse anErrorHandler
element.Filter
parseFilters(org.w3c.dom.Element filterElement)
Used internally to parse a filter element.Layout
parseLayout(org.w3c.dom.Element layoutElement)
Used internally to parse a layout element.private void
parseLevel(org.w3c.dom.Element element, LoggerConfig logger, boolean isRoot)
Used internally to parse a level element.RewritePolicy
parseRewritePolicy(org.w3c.dom.Element rewritePolicyElement)
private void
parseRoot(org.w3c.dom.Element rootElement)
Used internally to parse the roor category element.private void
parseUnrecognizedElement(java.lang.Object instance, org.w3c.dom.Element element, java.util.Properties props)
Delegates unrecognized content to created instance if it supports UnrecognizedElementParser.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.private void
setParameter(org.w3c.dom.Element elem, PropertySetter propSetter)
void
setParameter(org.w3c.dom.Element elem, PropertySetter propSetter, java.util.Properties props)
Sets a parameter based from configuration file content.private java.lang.String
subst(java.lang.String value)
java.lang.String
subst(java.lang.String value, java.util.Properties props)
Substitutes property value for any references in expression.-
Methods inherited from class org.apache.log4j.config.Log4j1Configuration
getBuilderManager, initialize, reconfigure
-
Methods inherited from class org.apache.logging.log4j.core.config.AbstractConfiguration
addAppender, addComponent, addListener, addLogger, addLoggerAppender, addLoggerFilter, createAdvertiser, createConfiguration, getAdvertiser, getAppender, getAppenders, getAsyncLoggerConfigDelegate, getComponent, getConfigurationSource, getCustomLevels, getDefaultStatus, getLogger, getLoggerConfig, getLoggerContext, getLoggers, getName, getNanoClock, getPluginManager, getPluginPackages, getProperties, getReliabilityStrategy, getRootLogger, getRootNode, getScheduler, getScriptManager, getShutdownTimeoutMillis, getStrSubstitutor, getWatchManager, initializeWatchers, isShutdownHookEnabled, preConfigure, removeAppender, removeListener, removeLogger, setAdvertiser, setLoggerAdditive, setName, setNanoClock, setPluginManager, setScriptManager, setToDefault, setup, start, stop, toByteArray
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, stop
-
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
equalsImpl, getState, getStatusLogger, hashCodeImpl, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.logging.log4j.core.filter.Filterable
addFilter, getFilter, hasFilter, isFiltered, removeFilter
-
-
-
-
Field Detail
-
LOGGER
private static final Logger LOGGER
-
CONFIGURATION_TAG
private static final java.lang.String CONFIGURATION_TAG
- See Also:
- Constant Field Values
-
OLD_CONFIGURATION_TAG
private static final java.lang.String OLD_CONFIGURATION_TAG
- See Also:
- Constant Field Values
-
RENDERER_TAG
private static final java.lang.String RENDERER_TAG
- See Also:
- Constant Field Values
-
APPENDER_TAG
private static final java.lang.String APPENDER_TAG
- See Also:
- Constant Field Values
-
PARAM_TAG
public static final java.lang.String PARAM_TAG
- See Also:
- Constant Field Values
-
LAYOUT_TAG
public static final java.lang.String LAYOUT_TAG
- See Also:
- Constant Field Values
-
CATEGORY
private static final java.lang.String CATEGORY
- See Also:
- Constant Field Values
-
LOGGER_ELEMENT
private static final java.lang.String LOGGER_ELEMENT
- See Also:
- Constant Field Values
-
CATEGORY_FACTORY_TAG
private static final java.lang.String CATEGORY_FACTORY_TAG
- See Also:
- Constant Field Values
-
LOGGER_FACTORY_TAG
private static final java.lang.String LOGGER_FACTORY_TAG
- See Also:
- Constant Field Values
-
NAME_ATTR
public static final java.lang.String NAME_ATTR
- See Also:
- Constant Field Values
-
CLASS_ATTR
private static final java.lang.String CLASS_ATTR
- See Also:
- Constant Field Values
-
VALUE_ATTR
public static final java.lang.String VALUE_ATTR
- See Also:
- Constant Field Values
-
ROOT_TAG
private static final java.lang.String ROOT_TAG
- See Also:
- Constant Field Values
-
LEVEL_TAG
private static final java.lang.String LEVEL_TAG
- See Also:
- Constant Field Values
-
PRIORITY_TAG
private static final java.lang.String PRIORITY_TAG
- See Also:
- Constant Field Values
-
FILTER_TAG
public static final java.lang.String FILTER_TAG
- See Also:
- Constant Field Values
-
ERROR_HANDLER_TAG
private static final java.lang.String ERROR_HANDLER_TAG
- See Also:
- Constant Field Values
-
REF_ATTR
public static final java.lang.String REF_ATTR
- See Also:
- Constant Field Values
-
ADDITIVITY_ATTR
private static final java.lang.String ADDITIVITY_ATTR
- See Also:
- Constant Field Values
-
CONFIG_DEBUG_ATTR
private static final java.lang.String CONFIG_DEBUG_ATTR
- See Also:
- Constant Field Values
-
INTERNAL_DEBUG_ATTR
private static final java.lang.String INTERNAL_DEBUG_ATTR
- See Also:
- Constant Field Values
-
EMPTY_STR
private static final java.lang.String EMPTY_STR
- See Also:
- Constant Field Values
-
ONE_STRING_PARAM
private static final java.lang.Class[] ONE_STRING_PARAM
-
dbfKey
private static final java.lang.String dbfKey
- See Also:
- Constant Field Values
-
THROWABLE_RENDERER_TAG
private static final java.lang.String THROWABLE_RENDERER_TAG
- See Also:
- Constant Field Values
-
DEFAULT_DELAY
public static final long DEFAULT_DELAY
- See Also:
- Constant Field Values
-
TEST_PREFIX
protected static final java.lang.String TEST_PREFIX
File name prefix for test configurations.- See Also:
- Constant Field Values
-
DEFAULT_PREFIX
protected static final java.lang.String DEFAULT_PREFIX
File name prefix for standard configurations.- See Also:
- Constant Field Values
-
appenderMap
private java.util.Map<java.lang.String,Appender> appenderMap
-
props
private java.util.Properties props
-
-
Constructor Detail
-
XmlConfiguration
public XmlConfiguration(LoggerContext loggerContext, ConfigurationSource source, int monitorIntervalSeconds)
-
-
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 classAbstractConfiguration
- 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 bothprops
- 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
- propertiesexpectedClass
- 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 anErrorHandler
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)
-
-