Package org.apache.log4j.config
Class Log4j1ConfigurationParser
- java.lang.Object
-
- org.apache.log4j.config.Log4j1ConfigurationParser
-
public class Log4j1ConfigurationParser extends java.lang.Object
Experimental 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>
builder
private static java.lang.String
COMMA_DELIMITED_RE
private static java.lang.String
FALSE
private java.util.Properties
properties
private static java.lang.String
ROOTCATEGORY
private static java.lang.String
ROOTLOGGER
private StrSubstitutor
strSubstitutorProperties
private StrSubstitutor
strSubstitutorSystem
private static java.lang.String
TRUE
-
Constructor Summary
Constructors Constructor Description Log4j1ConfigurationParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
buildAppender(java.lang.String appenderName, java.lang.String appenderClass)
private void
buildAppenderLayout(java.lang.String name, AppenderComponentBuilder appenderBuilder)
private void
buildAttribute(java.lang.String componentName, ComponentBuilder componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)
private void
buildAttributeWithDefault(java.lang.String componentName, ComponentBuilder componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName, java.lang.String defaultValue)
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 void
buildConsoleAppender(java.lang.String appenderName)
private void
buildDailyRollingFileAppender(java.lang.String appenderName)
private void
buildFileAppender(java.lang.String appenderName)
private void
buildFileAppender(java.lang.String appenderName, AppenderComponentBuilder appenderBuilder)
private void
buildLoggers(java.lang.String prefix)
private void
buildMandatoryAttribute(java.lang.String componentName, ComponentBuilder componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName)
private void
buildNullAppender(java.lang.String appenderName)
private void
buildProperties()
private void
buildRollingFileAppender(java.lang.String appenderName)
private void
buildRootLogger(java.lang.String rootLoggerValue)
private java.lang.String
getLevelString(java.lang.String[] loggerParts, java.lang.String defaultLevel)
private java.lang.String
getLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName)
private java.lang.String
getLog4jAppenderValue(java.lang.String appenderName, java.lang.String attributeName, java.lang.String defaultValue)
private java.lang.String
getLog4jValue(java.lang.String key)
private java.lang.String
getProperty(java.lang.String key)
private java.lang.String
getProperty(java.lang.String key, java.lang.String defaultValue)
private LayoutComponentBuilder
newPatternLayout(java.lang.String pattern)
private void
reportWarning(java.lang.String msg)
private void
warn(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
-
properties
private final java.util.Properties properties
-
strSubstitutorProperties
private StrSubstitutor strSubstitutorProperties
-
strSubstitutorSystem
private StrSubstitutor strSubstitutorSystem
-
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)
-
buildAttributeWithDefault
private void buildAttributeWithDefault(java.lang.String componentName, ComponentBuilder componentBuilder, java.lang.String sourceAttributeName, java.lang.String targetAttributeName, java.lang.String defaultValue)
-
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)
-
-