예제 #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());
        }
예제 #2
0
 public ActiveLogBufferMap(string bufferPath, SeqForwarderStorageConfig storageConfig, SeqForwarderOutputConfig outputConfig, ILogShipperFactory logShipperFactory)
 {
     _bufferSizeBytes = storageConfig.BufferSizeBytes;
     _outputConfig    = outputConfig ?? throw new ArgumentNullException(nameof(outputConfig));
     _shipperFactory  = logShipperFactory ?? throw new ArgumentNullException(nameof(logShipperFactory));
     _bufferPath      = bufferPath ?? throw new ArgumentNullException(nameof(bufferPath));
 }
예제 #3
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());
 }
 public HttpLogShipperFactory(ServerResponseProxy serverResponseProxy, SeqForwarderOutputConfig outputConfig, HttpClient outputHttpClient)
 {
     _outputHttpClient    = outputHttpClient;
     _serverResponseProxy = serverResponseProxy ?? throw new ArgumentNullException(nameof(serverResponseProxy));
     _outputConfig        = outputConfig ?? throw new ArgumentNullException(nameof(outputConfig));
 }