Class LogManager

  • All Implemented Interfaces:
    java.util.EventListener, org.osgi.framework.BundleListener, org.osgi.util.tracker.ServiceTrackerCustomizer<java.lang.Object,​java.lang.Object>
    Direct Known Subclasses:
    ScrLogManager

    class LogManager
    extends org.osgi.util.tracker.ServiceTracker<java.lang.Object,​java.lang.Object>
    implements org.osgi.framework.BundleListener
    • Constructor Summary

      Constructors 
      Constructor Description
      LogManager​(org.osgi.framework.BundleContext context, LogConfiguration config)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object addingService​(org.osgi.framework.ServiceReference<java.lang.Object> reference)  
      void bundleChanged​(org.osgi.framework.BundleEvent event)  
      void close()  
      (package private) LogManager.LoggerFacade createLoggerFacade​(LogManager.LogDomain logDomain, java.lang.String name)  
      (package private) <T> T getLogger​(org.osgi.framework.Bundle bundle, java.lang.String name, java.lang.Class<T> type)  
      void init()
      Initializes the log manager.
      void removedService​(org.osgi.framework.ServiceReference<java.lang.Object> reference, java.lang.Object service)  
      • Methods inherited from class org.osgi.util.tracker.ServiceTracker

        getService, getService, getServiceReference, getServiceReferences, getServices, getServices, getTracked, getTrackingCount, isEmpty, modifiedService, open, open, remove, size, waitForService
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER_FACTORY_CLASS_NAME

        private static final java.lang.String LOGGER_FACTORY_CLASS_NAME
        See Also:
        Constant Field Values
      • scrContext

        final org.osgi.framework.BundleContext scrContext
      • closed

        final java.util.concurrent.atomic.AtomicBoolean closed
    • Constructor Detail

      • LogManager

        LogManager​(org.osgi.framework.BundleContext context,
                   LogConfiguration config)
    • Method Detail

      • init

        public void init()
        Initializes the log manager. This internally executes the following:
        • Track all bundles for retrieving the log levels of each bundles if the log extension is (ds.log.extension) not set or set to false (log extension disabled)
        • Don't track any bundles if log extension is enabled since we don't need the log levels of the respective bundles. For log extension, we use the log level of the SCR bundle itself.
        • Start the service tracker to track the OSGi LoggerFactory service
      • addingService

        public java.lang.Object addingService​(org.osgi.framework.ServiceReference<java.lang.Object> reference)
        Specified by:
        addingService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<java.lang.Object,​java.lang.Object>
        Overrides:
        addingService in class org.osgi.util.tracker.ServiceTracker<java.lang.Object,​java.lang.Object>
      • removedService

        public void removedService​(org.osgi.framework.ServiceReference<java.lang.Object> reference,
                                   java.lang.Object service)
        Specified by:
        removedService in interface org.osgi.util.tracker.ServiceTrackerCustomizer<java.lang.Object,​java.lang.Object>
        Overrides:
        removedService in class org.osgi.util.tracker.ServiceTracker<java.lang.Object,​java.lang.Object>
      • getLogger

        <T> T getLogger​(org.osgi.framework.Bundle bundle,
                        java.lang.String name,
                        java.lang.Class<T> type)
      • bundleChanged

        public void bundleChanged​(org.osgi.framework.BundleEvent event)
        Specified by:
        bundleChanged in interface org.osgi.framework.BundleListener
      • close

        public void close()
        Overrides:
        close in class org.osgi.util.tracker.ServiceTracker<java.lang.Object,​java.lang.Object>