public Slf4jReporter addingService()

in src/main/java/org/apache/sling/commons/metrics/internal/LogReporter.java [63:85]


    public Slf4jReporter addingService(ServiceReference<MetricRegistry> serviceReference) {
        MetricRegistry registry = context.getService(serviceReference);
        String metricRegistryName = (String) serviceReference.getProperty(MetricWebConsolePlugin.METRIC_REGISTRY_NAME);

        if (config.registryName() == null || config.registryName().length() == 0
                || config.registryName().equals(metricRegistryName)) {
            Slf4jReporter.Builder builder = Slf4jReporter.forRegistry(registry).
                    outputTo(LoggerFactory.getLogger(config.loggerName())).
                    withLoggingLevel(config.level());

            if (config.prefix() != null && config.prefix().length() > 0) {
                builder.filter(new PrefixFilter(config.prefix()));
            } else if (config.pattern() != null && config.pattern().length() > 0) {
                builder.filter(new PatternFilter(config.pattern()));
            }

            Slf4jReporter reporter = builder.build();
            reporter.start(config.period(), config.timeUnit());
            return reporter;
        } else {
            return null;
        }
    }