PipelineRetryLogger
                    class PipelineRetryLogger
                
                using Microsoft.Extensions.Logging;
using System.ClientModel.Primitives;
using System.CodeDom.Compiler;
using System.Runtime.CompilerServices;
namespace System.ClientModel.Internal
{
    [System.Runtime.CompilerServices.NullableContext(2)]
    [System.Runtime.CompilerServices.Nullable(0)]
    internal class PipelineRetryLogger
    {
        [System.Runtime.CompilerServices.Nullable(new byte[] {
            2,
            1
        })]
        private readonly ILogger<ClientRetryPolicy> _logger;
        [System.Runtime.CompilerServices.Nullable(new byte[] {
            1,
            1,
            2,
            2
        })]
        [GeneratedCode("Microsoft.Extensions.Logging.Generators", "8.0.12.6609")]
        private static readonly Action<ILogger, string, int, double, Exception> __RequestRetryingCallback = LoggerMessage.Define<string, int, double>(LogLevel.Information, new EventId(10, "RequestRetrying"), "Request [{requestId}] attempt number {retryNumber} took {seconds:00.0}s", new LogDefineOptions {
            SkipEnabledCheck = true
        });
        public PipelineRetryLogger(ILoggerFactory loggerFactory)
        {
            _logger = (((loggerFactory != null) ? loggerFactory.CreateLogger<ClientRetryPolicy>() : null) ?? null);
        }
        public void LogRequestRetrying(string requestId, int retryNumber, double seconds)
        {
            if (_logger != null)
                RequestRetrying(_logger, requestId, retryNumber, seconds);
            else
                ClientModelEventSource.Log.RequestRetrying(requestId, retryNumber, seconds);
        }
        [System.Runtime.CompilerServices.NullableContext(1)]
        [LoggerMessage(10, LogLevel.Information, "Request [{requestId}] attempt number {retryNumber} took {seconds:00.0}s", EventName = "RequestRetrying")]
        [GeneratedCode("Microsoft.Extensions.Logging.Generators", "8.0.12.6609")]
        private static void RequestRetrying(ILogger logger, [System.Runtime.CompilerServices.Nullable(2)] string requestId, int retryNumber, double seconds)
        {
            if (logger.IsEnabled(LogLevel.Information))
                __RequestRetryingCallback(logger, requestId, retryNumber, seconds, null);
        }
    }
}