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 classXmlConfiguration.ConsumerExceptionprivate static interfaceXmlConfiguration.ParseActionprivate static classXmlConfiguration.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.StringADDITIVITY_ATTRprivate static java.lang.StringAPPENDER_TAGprivate java.util.Map<java.lang.String,Appender>appenderMapprivate static java.lang.StringCATEGORYprivate static java.lang.StringCATEGORY_FACTORY_TAGprivate static java.lang.StringCLASS_ATTRprivate static java.lang.StringCONFIG_DEBUG_ATTRprivate static java.lang.StringCONFIGURATION_TAGprivate static java.lang.StringdbfKeystatic longDEFAULT_DELAYprotected static java.lang.StringDEFAULT_PREFIXFile name prefix for standard configurations.private static java.lang.StringEMPTY_STRprivate static java.lang.StringERROR_HANDLER_TAGstatic java.lang.StringFILTER_TAGprivate static java.lang.StringINTERNAL_DEBUG_ATTRstatic java.lang.StringLAYOUT_TAGprivate static java.lang.StringLEVEL_TAGprivate static LoggerLOGGERprivate static java.lang.StringLOGGER_ELEMENTprivate static java.lang.StringLOGGER_FACTORY_TAGstatic java.lang.StringNAME_ATTRprivate static java.lang.StringOLD_CONFIGURATION_TAGprivate static java.lang.Class<?>[]ONE_STRING_PARAMstatic java.lang.StringPARAM_TAGprivate static java.lang.StringPRIORITY_TAGprivate java.util.Propertiespropsstatic java.lang.StringREF_ATTRprivate static java.lang.StringRENDERER_TAGprivate static java.lang.StringROOT_TAGprotected static java.lang.StringTEST_PREFIXFile name prefix for test configurations.private static java.lang.StringTHRESHOLD_ATTRprivate static java.lang.StringTHROWABLE_RENDERER_TAGstatic java.lang.StringVALUE_ATTR-
Fields inherited from class org.apache.log4j.config.Log4j1Configuration
APPENDER_REF_TAG, DEFAULT_LEVEL, 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 voidaddAppenderIfAbsent(Appender appender)voidaddFilter(java.util.concurrent.atomic.AtomicReference<Filter> ref, org.w3c.dom.Element filterElement)Used internally to parse a filter element.private AppenderbuildAppender(java.lang.String className, org.w3c.dom.Element appenderElement)private FilterbuildFilter(java.lang.String className, org.w3c.dom.Element filterElement)private LayoutbuildLayout(java.lang.String className, org.w3c.dom.Element layout_element)private RewritePolicybuildRewritePolicy(java.lang.String className, org.w3c.dom.Element element)voiddoConfigure()Configures log4j by reading in a log4j.dtd compliant XML configuration file.private voiddoConfigure(XmlConfiguration.ParseAction action)private AppenderfindAppenderByName(org.w3c.dom.Document doc, java.lang.String appenderName)Used internally to parse appenders by IDREF name.AppenderfindAppenderByReference(org.w3c.dom.Element appenderRef)Used internally to parse appenders by IDREF element.static voidforEachElement(org.w3c.dom.NodeList list, java.util.function.Consumer<org.w3c.dom.Element> consumer)private voidparse(org.w3c.dom.Element element)Used internally to configure the log4j framework by parsing a DOM tree of XML elements based on log4j.dtd.AppenderparseAppender(org.w3c.dom.Element appenderElement)Used internally to parse an appender element.private voidparseCategory(org.w3c.dom.Element loggerElement)Used internally to parse an category element.private voidparseChildrenOfLoggerElement(org.w3c.dom.Element catElement, LoggerConfig loggerConfig, boolean isRoot)Used internally to parse the children of a LoggerConfig element.java.lang.ObjectparseElement(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 voidparseErrorHandler(org.w3c.dom.Element element, Appender appender)Used internally to parse anErrorHandlerelement.FilterparseFilters(org.w3c.dom.Element filterElement)Used internally to parse a filter element.LayoutparseLayout(org.w3c.dom.Element layoutElement)Used internally to parse a layout element.private voidparseLevel(org.w3c.dom.Element element, LoggerConfig logger, boolean isRoot)Used internally to parse a level element.RewritePolicyparseRewritePolicy(org.w3c.dom.Element rewritePolicyElement)private voidparseRoot(org.w3c.dom.Element rootElement)Used internally to parse the roor category element.TriggeringPolicyparseTriggeringPolicy(org.w3c.dom.Element policyElement)private voidparseUnrecognizedElement(java.lang.Object instance, org.w3c.dom.Element element, java.util.Properties props)Delegates unrecognized content to created instance if it supports UnrecognizedElementParser.private voidquietParseUnrecognizedElement(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.Configurationreconfigure()private voidsetParameter(org.w3c.dom.Element element, PropertySetter propSetter)voidsetParameter(org.w3c.dom.Element elem, PropertySetter propSetter, java.util.Properties props)Sets a parameter based from configuration file content.private java.lang.Stringsubst(java.lang.String value)java.lang.Stringsubst(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
-
Methods inherited from class org.apache.logging.log4j.core.config.AbstractConfiguration
addAppender, addComponent, addListener, addLogger, addLoggerAppender, addLoggerFilter, createAdvertiser, createConfiguration, createPluginObject, getAdvertiser, getAppender, getAppenders, getAsyncLoggerConfigDelegate, getAsyncWaitStrategyFactory, getComponent, getConfigurationSource, getConfigurationStrSubstitutor, getCustomLevels, getDefaultLevel, getDefaultStatus, getLogger, getLoggerConfig, getLoggerContext, getLoggers, getName, getNanoClock, getPluginManager, getPluginPackages, getProperties, getReliabilityStrategy, getRootLogger, getRootNode, getScheduler, getScriptManager, getShutdownTimeoutMillis, getStrSubstitutor, getWatchManager, initializeWatchers, isShutdownHookEnabled, preConfigure, processConditionals, processSelect, 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
-
THRESHOLD_ATTR
private static final java.lang.String THRESHOLD_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.FactoryConfigurationErrorConfigures log4j by reading in a log4j.dtd compliant XML configuration file.- Overrides:
doConfigurein classAbstractConfiguration- Throws:
javax.xml.parsers.FactoryConfigurationError
-
doConfigure
private void doConfigure(XmlConfiguration.ParseAction action) throws javax.xml.parsers.FactoryConfigurationError
- Throws:
javax.xml.parsers.FactoryConfigurationError
-
reconfigure
public Configuration reconfigure()
- Specified by:
reconfigurein interfaceReconfigurable- Overrides:
reconfigurein classLog4j1Configuration
-
parseUnrecognizedElement
private void parseUnrecognizedElement(java.lang.Object instance, org.w3c.dom.Element element, java.util.Properties props) throws java.lang.ExceptionDelegates 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.ExceptionCreates 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 anErrorHandlerelement.
-
addFilter
public void addFilter(java.util.concurrent.atomic.AtomicReference<Filter> ref, org.w3c.dom.Element filterElement)
Used internally to parse a filter element.
-
parseFilters
public Filter parseFilters(org.w3c.dom.Element filterElement)
Used internally to parse a filter element.
-
buildFilter
private Filter buildFilter(java.lang.String className, org.w3c.dom.Element filterElement)
-
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)
-
parseTriggeringPolicy
public TriggeringPolicy parseTriggeringPolicy(org.w3c.dom.Element policyElement)
-
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 element, 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)
-
-