Class LoggingSystem

java.lang.Object
org.springframework.boot.logging.LoggingSystem
Direct Known Subclasses:
AbstractLoggingSystem

public abstract class LoggingSystem extends Object
Common abstraction over logging systems.
Since:
1.0.0
Author:
Phillip Webb, Dave Syer, Andy Wilkinson, Ben Hale
  • Field Details

    • SYSTEM_PROPERTY

      public static final String SYSTEM_PROPERTY
      A System property that can be used to indicate the LoggingSystem to use.
    • NONE

      public static final String NONE
      The value of the SYSTEM_PROPERTY that can be used to indicate that no LoggingSystem should be used.
      See Also:
    • ROOT_LOGGER_NAME

      public static final String ROOT_LOGGER_NAME
      The name used for the root logger. LoggingSystem implementations should ensure that this is the name used to represent the root logger, regardless of the underlying implementation.
      See Also:
    • EXPECT_CORRELATION_ID_PROPERTY

      public static final String EXPECT_CORRELATION_ID_PROPERTY
      The name of an Environment property used to indicate that a correlation ID is expected to be logged at some point.
      Since:
      3.2.0
      See Also:
  • Constructor Details

    • LoggingSystem

      public LoggingSystem()
  • Method Details

    • getSystemProperties

      public LoggingSystemProperties getSystemProperties(ConfigurableEnvironment environment)
      Return the LoggingSystemProperties that should be applied.
      Parameters:
      environment - the ConfigurableEnvironment used to obtain value
      Returns:
      the LoggingSystemProperties to apply
      Since:
      2.4.0
    • beforeInitialize

      public abstract void beforeInitialize()
      Reset the logging system to be limit output. This method may be called before initialize(LoggingInitializationContext, String, LogFile) to reduce logging noise until the system has been fully initialized.
    • initialize

      public void initialize(LoggingInitializationContext initializationContext, String configLocation, LogFile logFile)
      Fully initialize the logging system.
      Parameters:
      initializationContext - the logging initialization context
      configLocation - a log configuration location or null if default initialization is required
      logFile - the log output file that should be written or null for console only output
    • cleanUp

      public void cleanUp()
      Clean up the logging system. The default implementation does nothing. Subclasses should override this method to perform any logging system-specific cleanup.
    • getShutdownHandler

      public Runnable getShutdownHandler()
      Returns a Runnable that can handle shutdown of this logging system when the JVM exits. The default implementation returns null, indicating that no shutdown is required.
      Returns:
      the shutdown handler, or null
    • getSupportedLogLevels

      public Set<LogLevel> getSupportedLogLevels()
      Returns a set of the LogLevels that are actually supported by the logging system.
      Returns:
      the supported levels
    • setLogLevel

      public void setLogLevel(String loggerName, LogLevel level)
      Sets the logging level for a given logger.
      Parameters:
      loggerName - the name of the logger to set (null can be used for the root logger).
      level - the log level (null can be used to remove any custom level for the logger and use the default configuration instead)
    • getLoggerConfigurations

      public List<LoggerConfiguration> getLoggerConfigurations()
      Returns a collection of the current configuration for all a LoggingSystem's loggers.
      Returns:
      the current configurations
      Since:
      1.5.0
    • getLoggerConfiguration

      public LoggerConfiguration getLoggerConfiguration(String loggerName)
      Returns the current configuration for a LoggingSystem's logger.
      Parameters:
      loggerName - the name of the logger
      Returns:
      the current configuration
      Since:
      1.5.0
    • get

      public static LoggingSystem get(ClassLoader classLoader)
      Detect and return the logging system in use. Supports Logback and Java Logging.
      Parameters:
      classLoader - the classloader
      Returns:
      the logging system