Package org.apache.log4j.config
Class Log4j1ConfigurationParser
- java.lang.Object
-
- org.apache.log4j.config.Log4j1ConfigurationParser
-
public class Log4j1ConfigurationParser extends java.lang.ObjectExperimental parser for Log4j 1.2 properties configuration files. This class is not thread-safe.From the Log4j 1.2 Javadocs:
All option values admit variable substitution. The syntax of variable substitution is similar to that of Unix shells. The string between an opening "${" and closing "}" is interpreted as a key. The value of the substituted variable can be defined as a system property or in the configuration file itself. The value of the key is first searched in the system properties, and if not found there, it is then searched in the configuration file being parsed. The corresponding value replaces the ${variableName} sequence. For example, if java.home system property is set to /home/xyz, then every occurrence of the sequence ${java.home} will be interpreted as /home/xyz.
-
-
Field Summary
Fields Modifier and Type Field Description private ConfigurationBuilder<BuiltConfiguration>builderprivate static java.lang.StringCOMMA_DELIMITED_REprivate static java.lang.StringFALSEprivate static java.lang.StringNULLprivate java.util.Propertiespropertiesprivate static java.lang.StringRELATIVEprivate static java.lang.StringROOTCATEGORYprivate static java.lang.StringROOTLOGGERprivate static java.lang.StringTRUE
-
Constructor Summary
Constructors Constructor Description Log4j1ConfigurationParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidbuildAppender(java.lang.String appenderName, java.lang.String appenderClass)private voidbuildAppenderLayout(java.lang.String name, AppenderComponentBuilder appenderBuilder)private voidbuildAttribute(java.lang.String componentName, ComponentBuilder<?> componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)private java.util.Map<java.lang.String,java.lang.String>buildClassToPropertyPrefixMap()ConfigurationBuilder<BuiltConfiguration>buildConfigurationBuilder(java.io.InputStream input)Parses a Log4j 1.2 properties configuration file in ISO 8859-1 encoding into a ConfigurationBuilder.private voidbuildConsoleAppender(java.lang.String appenderName)private voidbuildDailyRollingFileAppender(java.lang.String appenderName)private voidbuildFileAppender(java.lang.String appenderName)private voidbuildFileAppender(java.lang.String appenderName, AppenderComponentBuilder appenderBuilder)private voidbuildLoggers(java.lang.String prefix)private voidbuildMandatoryAttribute(java.lang.String componentName, ComponentBuilder<?> componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)private voidbuildNullAppender(java.lang.String appenderName)private voidbuildProperties()private voidbuildRollingFileAppender(java.lang.String appenderName)private voidbuildRootLogger(java.lang.String rootLoggerValue)private java.lang.StringgetLevelString(java.lang.String[] loggerParts, java.lang.String defaultLevel)private java.lang.StringgetLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName)private java.lang.StringgetLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName, java.lang.String defaultValue)private java.lang.StringgetLog4jValue(java.lang.String key)private java.lang.StringgetProperty(java.lang.String key)private java.lang.StringgetProperty(java.lang.String key, java.lang.String defaultValue)private LayoutComponentBuildernewPatternLayout(java.lang.String pattern)private voidreportWarning(java.lang.String msg)private voidwarn(java.lang.String string)
-
-
-
Field Detail
-
COMMA_DELIMITED_RE
private static final java.lang.String COMMA_DELIMITED_RE
- See Also:
- Constant Field Values
-
ROOTLOGGER
private static final java.lang.String ROOTLOGGER
- See Also:
- Constant Field Values
-
ROOTCATEGORY
private static final java.lang.String ROOTCATEGORY
- See Also:
- Constant Field Values
-
TRUE
private static final java.lang.String TRUE
- See Also:
- Constant Field Values
-
FALSE
private static final java.lang.String FALSE
- See Also:
- Constant Field Values
-
RELATIVE
private static final java.lang.String RELATIVE
- See Also:
- Constant Field Values
-
NULL
private static final java.lang.String NULL
- See Also:
- Constant Field Values
-
properties
private final java.util.Properties properties
-
builder
private final ConfigurationBuilder<BuiltConfiguration> builder
-
-
Method Detail
-
buildConfigurationBuilder
public ConfigurationBuilder<BuiltConfiguration> buildConfigurationBuilder(java.io.InputStream input) throws java.io.IOException
Parses a Log4j 1.2 properties configuration file in ISO 8859-1 encoding into a ConfigurationBuilder.- Parameters:
input- InputStream to read from is assumed to be ISO 8859-1, and will not be closed.- Returns:
- the populated ConfigurationBuilder, never null
- Throws:
java.io.IOException- if unable to read the inputConfigurationException- if the input does not contain a valid configuration
-
buildProperties
private void buildProperties()
-
warn
private void warn(java.lang.String string)
-
buildClassToPropertyPrefixMap
private java.util.Map<java.lang.String,java.lang.String> buildClassToPropertyPrefixMap()
-
buildAppender
private void buildAppender(java.lang.String appenderName, java.lang.String appenderClass)
-
buildConsoleAppender
private void buildConsoleAppender(java.lang.String appenderName)
-
buildFileAppender
private void buildFileAppender(java.lang.String appenderName)
-
buildFileAppender
private void buildFileAppender(java.lang.String appenderName, AppenderComponentBuilder appenderBuilder)
-
buildDailyRollingFileAppender
private void buildDailyRollingFileAppender(java.lang.String appenderName)
-
buildRollingFileAppender
private void buildRollingFileAppender(java.lang.String appenderName)
-
buildAttribute
private void buildAttribute(java.lang.String componentName, ComponentBuilder<?> componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)
-
buildMandatoryAttribute
private void buildMandatoryAttribute(java.lang.String componentName, ComponentBuilder<?> componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)
-
buildNullAppender
private void buildNullAppender(java.lang.String appenderName)
-
buildAppenderLayout
private void buildAppenderLayout(java.lang.String name, AppenderComponentBuilder appenderBuilder)
-
newPatternLayout
private LayoutComponentBuilder newPatternLayout(java.lang.String pattern)
-
buildRootLogger
private void buildRootLogger(java.lang.String rootLoggerValue)
-
getLevelString
private java.lang.String getLevelString(java.lang.String[] loggerParts, java.lang.String defaultLevel)
-
buildLoggers
private void buildLoggers(java.lang.String prefix)
-
getLog4jAppenderValue
private java.lang.String getLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName)
-
getProperty
private java.lang.String getProperty(java.lang.String key)
-
getProperty
private java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
-
getLog4jAppenderValue
private java.lang.String getLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName, java.lang.String defaultValue)
-
getLog4jValue
private java.lang.String getLog4jValue(java.lang.String key)
-
reportWarning
private void reportWarning(java.lang.String msg)
-
-