Пример #1
0
        public static IStreamLogIngestor CreateStreamIngestorWithCustomParser(IStreamIngestorConfiguration streamIngestorConfiguration = null,
            IContentFilterFactory contentFilterFactory = null)
        {
            if (streamIngestorConfiguration == null)
                streamIngestorConfiguration = new StreamIngestorConfiguration();

            if (contentFilterFactory == null)
                contentFilterFactory = new ContentFilterFactory();

            var factory = new SqlServerStreamIngestorFactory();
            return factory.WithCustomParser()
                .WithContentFilterFactory(contentFilterFactory)
                .WithPersisterDaemon(factory.BuildDefaultPersisterDaemon(streamIngestorConfiguration))
                .Build();
        }
        public IPersisterDaemon BuildDefaultPersisterDaemon(IStreamIngestorConfiguration streamIngestorConfiguration = null, 
            IPersistenceConfiguration persistenceConfiguration = null)
        {
            if(streamIngestorConfiguration == null)
                streamIngestorConfiguration = new StreamIngestorConfiguration();

            if(persistenceConfiguration == null)
                persistenceConfiguration = new PersistenceConfiguration();

            var eventPersister = new EventPersister(persistenceConfiguration,
                new DataExtractor(persistenceConfiguration,
                    new FingerprintReader(persistenceConfiguration),
                    new ServerReader(persistenceConfiguration),
                    new ServerWriter(persistenceConfiguration)),
                new ErrorDefinitionWriter(persistenceConfiguration),
                new TimelineWriter(persistenceConfiguration));

            if (_eventDiscarder == null)
                _eventDiscarder = new NullEventDiscarder();

            return new PersisterDaemon(streamIngestorConfiguration, eventPersister, _eventDiscarder);
        }