Package org.apache.log4j
Class PropertyConfigurator
- java.lang.Object
-
- org.apache.log4j.PropertyConfigurator
-
- All Implemented Interfaces:
Configurator
public class PropertyConfigurator extends java.lang.Object implements Configurator
Configures Log4j from properties.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classPropertyConfigurator.NameValue(package private) static classPropertyConfigurator.PropertyWatchdog(package private) classPropertyConfigurator.SortedKeyEnumeration
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringADDITIVITY_PREFIXprivate static java.lang.StringAPPENDER_PREFIXprivate static java.lang.StringAPPENDER_REF_TAGprivate static java.lang.StringCATEGORY_PREFIXprivate static java.lang.StringFACTORY_PREFIXprivate static java.lang.StringINTERNAL_ROOT_NAMEstatic java.lang.StringLOGGER_FACTORY_KEYKey for specifying theLoggerFactory.private static java.lang.StringLOGGER_PREFIXprivate static java.lang.StringLOGGER_REFprotected LoggerFactoryloggerFactoryprotected java.util.HashtableregistryUsed internally to keep track of configured appenders.private static java.lang.StringRENDERER_PREFIXprivate LoggerRepositoryrepositoryprivate static java.lang.StringRESET_KEYIf property set to true, then hierarchy will be reset before configuration.private static java.lang.StringROOT_REFprivate static java.lang.StringTHROWABLE_RENDERER_PREFIX-
Fields inherited from interface org.apache.log4j.spi.Configurator
INHERITED, NULL
-
-
Constructor Summary
Constructors Constructor Description PropertyConfigurator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidconfigure(java.io.InputStream inputStream)Reads configuration options from an InputStream.static voidconfigure(java.lang.String fileName)Reads configuration options from configuration file.static voidconfigure(java.net.URL configURL)Reads configuration options from urlconfigURL.static voidconfigure(java.util.Properties properties)Reads configuration options fromproperties.static voidconfigureAndWatch(java.lang.String configFilename)LikeconfigureAndWatch(String, long)except that the default delay as defined by FileWatchdog.DEFAULT_DELAY is used.static voidconfigureAndWatch(java.lang.String configFilename, long delayMillis)Reads the configuration fileconfigFilenameif it exists.private static voidconfigureAndWatch(java.lang.String configFilename, long delay, java.lang.ClassLoader classLoader)protected voidconfigureLoggerFactory(java.util.Properties properties)voiddoConfigure(java.io.InputStream inputStream, LoggerRepository loggerRepository)Reads configuration options from an InputStream.private voiddoConfigure(java.io.InputStream inputStream, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)voiddoConfigure(java.lang.String fileName, LoggerRepository loggerRepository)Reads configuration options from configuration file.private voiddoConfigure(java.lang.String fileName, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)Reads configuration options from configuration file.voiddoConfigure(java.net.URL url, LoggerRepository loggerRepository)Read configuration options from urlconfigURL.private voiddoConfigure(java.net.URL url, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)voiddoConfigure(java.util.Properties properties, LoggerRepository loggerRepository)Reads configuration options fromproperties.private voiddoConfigure(java.util.Properties properties, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)Reads configuration options fromproperties.private static booleanisFullCompatibilityEnabled()private java.util.PropertiesloadProperties(java.io.InputStream inputStream)private voidparseAdditivityForLogger(java.util.Properties properties, Logger logger, java.lang.String loggerName)Parse the additivity option for a non-root category.private AppenderparseAppender(java.util.Properties properties, java.lang.String appenderName)private voidparseAppenderFilters(java.util.Properties properties, java.lang.String appenderName, Appender appender)private voidparseCategory(java.util.Properties properties, Logger logger, java.lang.String optionKey, java.lang.String loggerName, java.lang.String value)This method must work for the root category as well.protected voidparseCatsAndRenderers(java.util.Properties properties, LoggerRepository loggerRepository)Parse non-root elements, such non-root categories and renderers.private voidparseErrorHandler(ErrorHandler errorHandler, java.lang.String errorHandlerPrefix, java.util.Properties props, LoggerRepository loggerRepository)private static voidwarnFullCompatibilityDisabled()
-
-
-
Field Detail
-
CATEGORY_PREFIX
private static final java.lang.String CATEGORY_PREFIX
- See Also:
- Constant Field Values
-
LOGGER_PREFIX
private static final java.lang.String LOGGER_PREFIX
- See Also:
- Constant Field Values
-
FACTORY_PREFIX
private static final java.lang.String FACTORY_PREFIX
- See Also:
- Constant Field Values
-
ADDITIVITY_PREFIX
private static final java.lang.String ADDITIVITY_PREFIX
- See Also:
- Constant Field Values
-
APPENDER_PREFIX
private static final java.lang.String APPENDER_PREFIX
- See Also:
- Constant Field Values
-
RENDERER_PREFIX
private static final java.lang.String RENDERER_PREFIX
- See Also:
- Constant Field Values
-
THROWABLE_RENDERER_PREFIX
private static final java.lang.String THROWABLE_RENDERER_PREFIX
- See Also:
- Constant Field Values
-
LOGGER_REF
private static final java.lang.String LOGGER_REF
- See Also:
- Constant Field Values
-
ROOT_REF
private static final java.lang.String ROOT_REF
- See Also:
- Constant Field Values
-
APPENDER_REF_TAG
private static final java.lang.String APPENDER_REF_TAG
- See Also:
- Constant Field Values
-
LOGGER_FACTORY_KEY
public static final java.lang.String LOGGER_FACTORY_KEY
Key for specifying theLoggerFactory. Currently set to "log4j.loggerFactory".- See Also:
- Constant Field Values
-
RESET_KEY
private static final java.lang.String RESET_KEY
If property set to true, then hierarchy will be reset before configuration.- See Also:
- Constant Field Values
-
INTERNAL_ROOT_NAME
private static final java.lang.String INTERNAL_ROOT_NAME
- See Also:
- Constant Field Values
-
registry
protected java.util.Hashtable registry
Used internally to keep track of configured appenders.
-
repository
private LoggerRepository repository
-
loggerFactory
protected LoggerFactory loggerFactory
-
-
Method Detail
-
isFullCompatibilityEnabled
private static boolean isFullCompatibilityEnabled()
-
warnFullCompatibilityDisabled
private static void warnFullCompatibilityDisabled()
-
configure
public static void configure(java.io.InputStream inputStream)
Reads configuration options from an InputStream.- Parameters:
inputStream- The input stream
-
configure
public static void configure(java.util.Properties properties)
Reads configuration options fromproperties. SeedoConfigure(String, LoggerRepository)for the expected format.- Parameters:
properties- The properties
-
configure
public static void configure(java.lang.String fileName)
Reads configuration options from configuration file.- Parameters:
fileName- The configuration file.
-
configure
public static void configure(java.net.URL configURL)
Reads configuration options from urlconfigURL.- Parameters:
configURL- The configuration URL
-
configureAndWatch
public static void configureAndWatch(java.lang.String configFilename)
LikeconfigureAndWatch(String, long)except that the default delay as defined by FileWatchdog.DEFAULT_DELAY is used.- Parameters:
configFilename- A file in key=value format.
-
configureAndWatch
public static void configureAndWatch(java.lang.String configFilename, long delayMillis)Reads the configuration fileconfigFilenameif it exists. Moreover, a thread will be created that will periodically check ifconfigFilenamehas been created or modified. The period is determined by thedelayargument. If a change or file creation is detected, thenconfigFilenameis read to configure log4j.- Parameters:
configFilename- A file in key=value format.delayMillis- The delay in milliseconds to wait between each check.
-
configureAndWatch
private static void configureAndWatch(java.lang.String configFilename, long delay, java.lang.ClassLoader classLoader)
-
configureLoggerFactory
protected void configureLoggerFactory(java.util.Properties properties)
Checks the providedPropertiesobject for aLoggerFactoryentry specified byLOGGER_FACTORY_KEY. If such an entry exists, an attempt is made to create an instance using the default constructor. This instance is used for subsequent Category creations within this configurator.
-
doConfigure
public void doConfigure(java.io.InputStream inputStream, LoggerRepository loggerRepository)Reads configuration options from an InputStream.- Specified by:
doConfigurein interfaceConfigurator- Parameters:
inputStream- The input streamloggerRepository- The hierarchy
-
doConfigure
private void doConfigure(java.io.InputStream inputStream, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)
-
doConfigure
public void doConfigure(java.util.Properties properties, LoggerRepository loggerRepository)Reads configuration options fromproperties. SeedoConfigure(String, LoggerRepository)for the expected format.- Parameters:
properties- The propertiesloggerRepository- The hierarchy
-
doConfigure
private void doConfigure(java.util.Properties properties, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)Reads configuration options fromproperties.See
doConfigure(String, LoggerRepository)for the expected format.- Parameters:
properties- The propertiesloggerRepository- The hierarchy
-
doConfigure
public void doConfigure(java.lang.String fileName, LoggerRepository loggerRepository)Reads configuration options from configuration file.- Parameters:
fileName- The configuration fileloggerRepository- The hierarchy
-
doConfigure
private void doConfigure(java.lang.String fileName, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)Reads configuration options from configuration file.- Parameters:
fileName- The configuration fileloggerRepository- The hierarchy
-
doConfigure
public void doConfigure(java.net.URL url, LoggerRepository loggerRepository)Read configuration options from urlconfigURL.- Specified by:
doConfigurein interfaceConfigurator- Parameters:
url- The configuration URLloggerRepository- The hierarchy
-
doConfigure
private void doConfigure(java.net.URL url, LoggerRepository loggerRepository, java.lang.ClassLoader classLoader)
-
loadProperties
private java.util.Properties loadProperties(java.io.InputStream inputStream)
-
parseAdditivityForLogger
private void parseAdditivityForLogger(java.util.Properties properties, Logger logger, java.lang.String loggerName)Parse the additivity option for a non-root category.
-
parseAppender
private Appender parseAppender(java.util.Properties properties, java.lang.String appenderName)
-
parseAppenderFilters
private void parseAppenderFilters(java.util.Properties properties, java.lang.String appenderName, Appender appender)
-
parseCategory
private void parseCategory(java.util.Properties properties, Logger logger, java.lang.String optionKey, java.lang.String loggerName, java.lang.String value)This method must work for the root category as well.
-
parseCatsAndRenderers
protected void parseCatsAndRenderers(java.util.Properties properties, LoggerRepository loggerRepository)Parse non-root elements, such non-root categories and renderers.
-
parseErrorHandler
private void parseErrorHandler(ErrorHandler errorHandler, java.lang.String errorHandlerPrefix, java.util.Properties props, LoggerRepository loggerRepository)
-
-