package org.distributeme.registry.servlet; import net.anotheria.moskito.core.logging.DefaultStatsLogger; import net.anotheria.moskito.core.logging.IntervalStatsLogger; import net.anotheria.moskito.core.logging.SL4JLogOutput; import net.anotheria.moskito.core.producers.IStatsProducer; import net.anotheria.moskito.core.registry.IProducerRegistryAPI; import net.anotheria.moskito.core.registry.ProducerRegistryAPIFactory; import net.anotheria.moskito.core.registry.ProducerRegistryFactory; import net.anotheria.moskito.core.stats.DefaultIntervals; import org.slf4j.LoggerFactory; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import java.util.List; public class MoskitoLoggerInitializer implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent sce) { ProducerRegistryFactory.getProducerRegistryInstance(); // //ADD LOGGING FOR ALL BUILTIN PRODUCERS IProducerRegistryAPI api = new ProducerRegistryAPIFactory().createProducerRegistryAPI(); List<IStatsProducer> stats = api.getAllProducersBySubsystem("builtin"); for (IStatsProducer producer : stats){ new DefaultStatsLogger(producer, new SL4JLogOutput(LoggerFactory.getLogger("MoskitoBIDefault"))); new IntervalStatsLogger(producer, DefaultIntervals.FIVE_MINUTES, new SL4JLogOutput(LoggerFactory.getLogger("MoskitoBI5m"))); new IntervalStatsLogger(producer, DefaultIntervals.FIFTEEN_MINUTES, new SL4JLogOutput(LoggerFactory.getLogger("MoskitoBI15m"))); new IntervalStatsLogger(producer, DefaultIntervals.ONE_HOUR, new SL4JLogOutput(LoggerFactory.getLogger("MoskitoBI1h"))); new IntervalStatsLogger(producer, DefaultIntervals.ONE_DAY, new SL4JLogOutput(LoggerFactory.getLogger("MoskitoBI1d"))); } } @Override public void contextDestroyed(ServletContextEvent sce) { } }