public GlobalExceptionHandlerMiddleware(
     RequestDelegate next,
     IConfiguration configuration,
     IUserRequestLogger userRequestLogger)
 {
     _next = next ?? throw new ArgumentNullException(nameof(next));
     _userRequestLogger    = userRequestLogger ?? throw new ArgumentNullException(nameof(userRequestLogger));
     configuration         = configuration ?? throw new ArgumentNullException(nameof(configuration));
     _isApplyGlobalLogging = ShouldApplyGlobalLogging(configuration);
     _isDevelopmentEnv     = IsDevelopmentEnvironment(configuration);
 }
 public ProductionUserRequestLoggerDecorator(IUserRequestLogger userRequestLogger)
 {
     _userRequestLogger = userRequestLogger;
 }