public Kernel Start() { LogMonitorConfiguration configuration = LogMonitorConfiguration.Instance; return(new Kernel( this.processors, configuration.Watch.Cast <IWatchConfiguration>(), this.outputFilter)); }
public ConfigurationAppStarter() { var processorsFactory = new ProcessorFactory(); LogMonitorConfiguration configuration = LogMonitorConfiguration.Instance; this.processors = new List <IProcessor>(); // Set to right "context" Environment.CurrentDirectory = Path.GetDirectoryName(typeof(Kernel).Assembly.Location); foreach (ParserElement parser in configuration.Parser) { processors.Add(processorsFactory.Create(parser.ScriptPath, parser.Pattern)); } var outputFactory = new OutputFactory( GraphiteConfiguration.Instance == null ? null : GraphiteConfiguration.Instance.Graphite, GraphiteConfiguration.Instance == null ? null : GraphiteConfiguration.Instance.StatsD); this.outputFilter = outputFactory.CreateFilter( configuration.Output.Cast <IOutputConfiguration>()); }