public HttpLoggerProcessor(HttpLoggerQueue queue, HttpLoggerService service, ILogger <HttpLoggerProcessor> logger)
        {
            _queue   = queue;
            _service = service;
            _logger  = logger;

            var retryPolicy = Policy
                              .Handle <HttpRequestException>()
                              .Or <OperationCanceledException>()
                              .WaitAndRetryAsync(new[] { TimeSpan.FromMilliseconds(500), TimeSpan.FromSeconds(3) });

            var circuitBreakerPolicy = Policy
                                       .Handle <HttpRequestException>()
                                       .Or <OperationCanceledException>()
                                       .CircuitBreakerAsync(exceptionsAllowedBeforeBreaking: 3, durationOfBreak: TimeSpan.FromMinutes(3));

            _policy = Policy.WrapAsync(retryPolicy, circuitBreakerPolicy);
        }
Exemple #2
0
 public HttpLoggerProvider(IOptions <HttpLoggerOptions> config, HttpLoggerQueue queue)
 {
     _config = config.Value;
     _queue  = queue;
 }
Exemple #3
0
 public HttpLogger(string name, HttpLoggerQueue queue, HttpLoggerOptions config)
 {
     _name   = name;
     _queue  = queue;
     _config = config;
 }