public void start()

in src/main/java/org/apache/sling/commons/log/logback/internal/LogConfigManager.java [316:377]


    public void start() {
        // initial setup using framework properties
        setDefaultConfiguration(getBundleConfiguration(bundleContext));

        bridgeHandlerInstalled = maybeInstallSlf4jBridgeHandler(bundleContext);

        configAdminSupport.start(bundleContext, this);

        // enable the LevelChangePropagator during any reset
        // http://logback.qos.ch/manual/configuration.html#LevelChangePropagator
        resetListeners.add(new LevelChangePropagatorChecker(() -> this.bridgeHandlerInstalled));
        resetListeners.add(this);

        try {
            appenderTracker = new AppenderTracker(bundleContext, this);
            appenderTracker.open(true);
            serviceTrackers.add(appenderTracker);
            resetListeners.add(appenderTracker);
        } catch (InvalidSyntaxException e) {
            logger.error("Failed to open the appender tracker", e);
        }

        try {
            configSourceTracker = new ConfigSourceTracker(bundleContext, this);
            configSourceTracker.open(true);
            serviceTrackers.add(configSourceTracker);
            resetListeners.add(configSourceTracker);
        } catch (InvalidSyntaxException e) {
            logger.error("Failed to open the config source tracker", e);
        }

        try {
            filterTracker = new FilterTracker(bundleContext, this);
            filterTracker.open(true);
            serviceTrackers.add(filterTracker);
            resetListeners.add(filterTracker);
        } catch (InvalidSyntaxException e) {
            logger.error("Failed to open the filter tracker", e);
        }

        turboFilterTracker = new TurboFilterTracker(bundleContext);
        turboFilterTracker.open(true);
        serviceTrackers.add(turboFilterTracker);
        resetListeners.add(turboFilterTracker);

        resetListeners.add(new RootLoggerListener()); // Should be invoked at last

        loggerContext.addListener(osgiIntegrationListener);
        registerWebConsoleSupport();
        registerEventHandler();

        // initial configuration must be done synchronously (aka immediately)
        addInfo("LogbackManager: BEGIN initial configuration");
        failSafeConfigure();
        addInfo("LogbackManager: END initialconfiguration");

        // now open the gate for regular configuration
        started = true;

        // Now check once if any other config was added while we were starting
        checkForNewConfigsWhileStarting(loggerContext);
    }