Exemplo n.º 1
0
        public HttpLogShipper(LogBuffer logBuffer, SeqForwarderOutputConfig outputConfig)
        {
            if (logBuffer == null)
            {
                throw new ArgumentNullException(nameof(logBuffer));
            }
            if (outputConfig == null)
            {
                throw new ArgumentNullException(nameof(outputConfig));
            }

            if (string.IsNullOrWhiteSpace(outputConfig.ServerUrl))
            {
                throw new ArgumentException("The destination Seq server URL must be configured in SeqForwarder.json.");
            }

            _logBuffer          = logBuffer;
            _outputConfig       = outputConfig;
            _connectionSchedule = new ExponentialBackoffConnectionSchedule(QuietWaitPeriod);

            var baseUri = outputConfig.ServerUrl;

            if (!baseUri.EndsWith("/"))
            {
                baseUri += "/";
            }

            _httpClient = new HttpClient {
                BaseAddress = new Uri(baseUri)
            };
            _timer = new Timer(s => OnTick());
        }
Exemplo n.º 2
0
 public HttpLogShipper(LogBuffer logBuffer, string apiKey, SeqForwarderOutputConfig outputConfig, ServerResponseProxy serverResponseProxy, HttpClient outputHttpClient)
 {
     _apiKey              = apiKey;
     _httpClient          = outputHttpClient ?? throw new ArgumentNullException(nameof(outputHttpClient));
     _logBuffer           = logBuffer ?? throw new ArgumentNullException(nameof(logBuffer));
     _outputConfig        = outputConfig ?? throw new ArgumentNullException(nameof(outputConfig));
     _serverResponseProxy = serverResponseProxy ?? throw new ArgumentNullException(nameof(serverResponseProxy));
     _connectionSchedule  = new ExponentialBackoffConnectionSchedule(QuietWaitPeriod);
     _timer = new Timer(s => OnTick());
 }