Class PropertyConfigurator

  • All Implemented Interfaces:
    Configurator

    public class PropertyConfigurator
    extends java.lang.Object
    implements Configurator
    Configures Log4j from properties.
    • Field Detail

      • ADDITIVITY_PREFIX

        private static final java.lang.String ADDITIVITY_PREFIX
        See Also:
        Constant Field Values
      • THROWABLE_RENDERER_PREFIX

        private static final java.lang.String THROWABLE_RENDERER_PREFIX
        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 the LoggerFactory. 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.
    • Constructor Detail

      • PropertyConfigurator

        public PropertyConfigurator()
    • 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 from properties. See doConfigure(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 url configURL.
        Parameters:
        configURL - The configuration URL
      • configureAndWatch

        public static void configureAndWatch​(java.lang.String configFilename)
        Like configureAndWatch(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 file configFilename if it exists. Moreover, a thread will be created that will periodically check if configFilename has been created or modified. The period is determined by the delay argument. If a change or file creation is detected, then configFilename is 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)
      • doConfigure

        public void doConfigure​(java.io.InputStream inputStream,
                                LoggerRepository loggerRepository)
        Reads configuration options from an InputStream.
        Specified by:
        doConfigure in interface Configurator
        Parameters:
        inputStream - The input stream
        loggerRepository - 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 from properties. See doConfigure(String, LoggerRepository) for the expected format.
        Parameters:
        properties - The properties
        loggerRepository - The hierarchy
      • doConfigure

        private void doConfigure​(java.util.Properties properties,
                                 LoggerRepository loggerRepository,
                                 java.lang.ClassLoader classLoader)
        Reads configuration options from properties.

        See doConfigure(String, LoggerRepository) for the expected format.

        Parameters:
        properties - The properties
        loggerRepository - The hierarchy
      • doConfigure

        public void doConfigure​(java.lang.String fileName,
                                LoggerRepository loggerRepository)
        Reads configuration options from configuration file.
        Parameters:
        fileName - The configuration file
        loggerRepository - 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 file
        loggerRepository - The hierarchy
      • doConfigure

        public void doConfigure​(java.net.URL url,
                                LoggerRepository loggerRepository)
        Read configuration options from url configURL.
        Specified by:
        doConfigure in interface Configurator
        Parameters:
        url - The configuration URL
        loggerRepository - 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)