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); }
public HttpLoggerProvider(IOptions <HttpLoggerOptions> config, HttpLoggerQueue queue) { _config = config.Value; _queue = queue; }
public HttpLogger(string name, HttpLoggerQueue queue, HttpLoggerOptions config) { _name = name; _queue = queue; _config = config; }