Class ScrLogManager

java.lang.Object
org.osgi.util.tracker.ServiceTracker<Object,Object>
org.apache.felix.scr.impl.logger.LogManager
org.apache.felix.scr.impl.logger.ScrLogManager
All Implemented Interfaces:
EventListener, org.osgi.framework.BundleListener, org.osgi.util.tracker.ServiceTrackerCustomizer<Object,Object>
Direct Known Subclasses:
ExtLogManager

public class ScrLogManager extends LogManager
Implements a SCR based log manager. This class was needed to not change the whole codebase. It looks very similar to the old logging but leverages the LogManager. This class implements the existing behavior and the ExtLogManager implements the extension behavior. The scr() method makes this distinction based on the configuration.
  • Field Details

    • bundle

      private final org.osgi.framework.Bundle bundle
    • config

      private final LogConfiguration config
  • Constructor Details

    • ScrLogManager

      ScrLogManager(org.osgi.framework.BundleContext context, LogConfiguration config)
  • Method Details

    • scr

      public ScrLogger scr()
      This logger is used for the main code of SCR. This will use the SCR bundle invalid input: '&' the Logger.ROOT_LOGGER_NAME
      Returns:
      scr logger.
    • bundle

      public BundleLogger bundle(org.osgi.framework.Bundle bundle)
      This logger is used for the logging on a per bundle basis. This will use the target bundle invalid input: '&' the Logger.ROOT_LOGGER_NAME
      Parameters:
      bundle - the target bundle
      Returns:
      a logger suitable to log bundle entries
    • component

      public ComponentLogger component(org.osgi.framework.Bundle bundle, String implementationClass, String name)
      This logger is used for the logging on a per bundle basis. This will use the target bundle invalid input: '&' the implementation class as logger name.
      Parameters:
      bundle - the target bundle
      Returns:
      a logger suitable to log bundle entries
    • createLoggerFacade

      LogManager.LoggerFacade createLoggerFacade(LogManager.LogDomain logDomain, String name)
      Overrides:
      createLoggerFacade in class LogManager
    • getLogLevel

      InternalLogger.Level getLogLevel()
    • getBundleIdentifier

      String getBundleIdentifier(org.osgi.framework.Bundle bundle)
    • componentPrefix

      String componentPrefix(ScrLogManager.ScrLoggerFacade slf, long id)
    • format

      String format(String pattern, Object... arguments)