Class ClassLoaderLogManager

java.lang.Object
java.util.logging.LogManager
org.apache.juli.ClassLoaderLogManager

public class ClassLoaderLogManager extends LogManager
Per classloader LogManager implementation. For light debugging, set the system property org.apache.juli.ClassLoaderLogManager.debug=true. Short configuration information will be sent to System.err.
  • Field Details

    • DEBUG_PROPERTY

      public static final String DEBUG_PROPERTY
    • classLoaderLoggers

      protected final Map<ClassLoader,ClassLoaderLogManager.ClassLoaderLogInfo> classLoaderLoggers
      Map containing the classloader information, keyed per classloader. A weak hashmap is used to ensure no classloader reference is leaked from application redeployment.
    • prefix

      protected final ThreadLocal<String> prefix
      This prefix is used to allow using prefixes for the properties names of handlers and their subcomponents.
    • useShutdownHook

      protected volatile boolean useShutdownHook
      Determines if the shutdown hook is used to perform any necessary clean-up such as flushing buffered handlers on JVM shutdown. Defaults to true but may be set to false if another component ensures that shutdown() is called.
  • Constructor Details

    • ClassLoaderLogManager

      public ClassLoaderLogManager()
  • Method Details

    • isUseShutdownHook

      public boolean isUseShutdownHook()
    • setUseShutdownHook

      public void setUseShutdownHook(boolean useShutdownHook)
    • addLogger

      public boolean addLogger(Logger logger)
      Add the specified logger to the classloader local configuration.
      Overrides:
      addLogger in class LogManager
      Parameters:
      logger - The logger to be added
    • getLogger

      public Logger getLogger(String name)
      Get the logger associated with the specified name inside the classloader local configuration. If this returns null, and the call originated for Logger.getLogger, a new logger with the specified name will be instantiated and added using addLogger.
      Overrides:
      getLogger in class LogManager
      Parameters:
      name - The name of the logger to retrieve
    • getLoggerNames

      public Enumeration<String> getLoggerNames()
      Get an enumeration of the logger names currently defined in the classloader local configuration.
      Overrides:
      getLoggerNames in class LogManager
    • getProperty

      public String getProperty(String name)
      Get the value of the specified property in the classloader local configuration.
      Overrides:
      getProperty in class LogManager
      Parameters:
      name - The property name
    • readConfiguration

      public void readConfiguration() throws IOException, SecurityException
      Overrides:
      readConfiguration in class LogManager
      Throws:
      IOException
      SecurityException
    • readConfiguration

      public void readConfiguration(InputStream is) throws IOException, SecurityException
      Overrides:
      readConfiguration in class LogManager
      Throws:
      IOException
      SecurityException
    • reset

      public void reset() throws SecurityException
      Overrides:
      reset in class LogManager
      Throws:
      SecurityException
    • shutdown

      public void shutdown()
      Shuts down the logging system.
    • getClassLoaderInfo

      protected ClassLoaderLogManager.ClassLoaderLogInfo getClassLoaderInfo(ClassLoader classLoader)
      Retrieve the configuration associated with the specified classloader. If it does not exist, it will be created. If no class loader is specified, the class loader used to load this class is used.
      Parameters:
      classLoader - The class loader for which we will retrieve or build the configuration
      Returns:
      the log configuration
    • readConfiguration

      protected void readConfiguration(ClassLoader classLoader) throws IOException
      Read configuration for the specified classloader.
      Parameters:
      classLoader - The classloader
      Throws:
      IOException - Error reading configuration
    • readConfiguration

      protected void readConfiguration(InputStream is, ClassLoader classLoader) throws IOException
      Load specified configuration.
      Parameters:
      is - InputStream to the properties file
      classLoader - for which the configuration will be loaded
      Throws:
      IOException - If something wrong happens during loading
    • doSetParentLogger

      protected static void doSetParentLogger(Logger logger, Logger parent)
      Set parent child relationship between the two specified loggers.
      Parameters:
      logger - The logger
      parent - The parent logger
    • replace

      protected String replace(String str)
      System property replacement in the given string.
      Parameters:
      str - The original string
      Returns:
      the modified string