public void Should_Log_Api_Log_Using_Firehose_Secondary()
        {
            var id     = Convert.ToString(Guid.NewGuid());
            var apiLog = Utility.GetApiLog();

            apiLog.Id = id;
            var formatter        = JsonLogFormatter.Instance;
            var firehoseSink     = Utility.GetFirehoseSink();
            var redisLogSettings = new RedisLogSettings();
            var redisSink        = new RedisSink(redisLogSettings);
            var compositeSink    = Utility.GetCompositeSink(formatter, redisSink, firehoseSink);

            var logWriter = new LogWriter(formatter, compositeSink);

            logWriter.WriteAsync(apiLog).GetAwaiter().GetResult();
            //Thread.Sleep(40000);

            var logData   = Utility.GetEsLogDataById(id);
            var esLogId   = string.Empty;
            var logSource = string.Empty;

            logData.TryGetValue("id", out esLogId);
            logData.TryGetValue("log_source", out logSource);

            Assert.AreEqual(id, esLogId);
            Assert.IsNull(logSource);
        }
        public IApplicationLogWriter CreateWriter()
        {
            var configProvider           = new ConfigurationProvider("exchange_rates_service");
            var redisLogSettingsProvider = new RedisSettingsProvider(configProvider);
            var redisSink = new RedisSink(redisLogSettingsProvider);

            return(new LogWriter(JsonLogFormatter.Instance, redisSink, null, configProvider));
        }