public void start()

in src/main/java/org/apache/sling/commons/logservice/internal/Activator.java [44:76]


    public void start(final BundleContext context) throws Exception {
        // get framework start level
        final Bundle systemBundle = context.getBundle(Constants.SYSTEM_BUNDLE_ID);

        final SLF4JSupport listener = new SLF4JSupport(systemBundle.adapt(FrameworkStartLevel.class));
        this.logReaderTracker = new ServiceTracker<>(context, LogReaderService.class,
                new ServiceTrackerCustomizer<LogReaderService, LogReaderService>() {

                    @Override
                    public LogReaderService addingService(final ServiceReference<LogReaderService> reference) {
                        final LogReaderService srvc = context.getService(reference);
                        if (srvc != null) {
                            srvc.addLogListener(listener);
                            listener.replay(srvc.getLog());
                        }
                        return srvc;
                    }

                    @Override
                    public void modifiedService(final ServiceReference<LogReaderService> reference,
                            final LogReaderService service) {
                        // nothing to do
                    }

                    @Override
                    public void removedService(final ServiceReference<LogReaderService> reference,
                            final LogReaderService service) {
                        service.removeLogListener(listener);

                    }
                });
        this.logReaderTracker.open();
    }