Exemple #1
0
        /// <summary>
        /// Flushes the current context state to the configured sink.
        /// </summary>
        public void Flush()
        {
            _logger.LogDebug($"Configuring context for environment {_environment.Name}");
            ConfigureContextForEnvironment(_context);
            if (_environment.Sink == null)
            {
                var message = $"No Sink is configured for environment `{_environment.GetType().Name}`";
                throw new InvalidOperationException(message);
            }

            _logger.LogDebug("Sending data to sink. {}", _environment.Sink.GetType().Name);

            _environment.Sink.Accept(_context);
            _context = _context.CreateCopyWithContext();
        }