Пример #1
0
        public EventHerder(NetLogStash.Config.IConfiguration configuration)
        {
            _configuration = configuration;

            // check configuration validity
            if (!IsConfigurationValid(configuration))
            {
                throw new NetLogStash.Config.InvalidConfigurationException(configuration);
            }

            // initialize keystore
            KeyStore.Initialize(configuration.KeyStoreLocation);

            // create pipeline
            _pipeline = new Pipeline <Event>(
                configuration.Inputs.Select(i => i.Execute()),
                configuration.Filters.Select(f => new KeyValuePair <Func <Event, bool>, Func <Event, Event> >(f.Predicate, f.Execute)),
                configuration.Outputs.Select <IOutput, Action <Event> >(o => o.Execute)
                );
        }
Пример #2
0
 private bool IsConfigurationValid(NetLogStash.Config.IConfiguration configuration)
 {
     return(configuration != null && configuration.Inputs != null && configuration.Filters != null && configuration.Outputs != null && configuration.Inputs.Count > 0 && configuration.Outputs.Count > 0);
 }