/// <summary> /// Initializes a new instance of the <see cref="RollbarLoggerProvider" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="options">The options.</param> /// <param name="httpContextAccessor">The HTTP context accessor.</param> public RollbarLoggerProvider( IConfiguration configuration , IOptions <RollbarOptions> options , IHttpContextAccessor httpContextAccessor ) { Assumption.AssertNotNull(configuration, nameof(configuration)); Assumption.AssertNotNull(options, nameof(options)); RollbarConfigurationUtil.DeduceRollbarTelemetryConfig(configuration); TelemetryCollector.Instance.StartAutocollection(); this._rollbarOptions = options.Value; this._rollbarConfig = RollbarConfigurationUtil.DeduceRollbarConfig(configuration); this._httpContextAccessor = httpContextAccessor; Assumption.AssertNotNull(this._rollbarConfig, nameof(this._rollbarConfig)); Assumption.AssertNotNullOrWhiteSpace(this._rollbarConfig.AccessToken, nameof(this._rollbarConfig.AccessToken)); }
/// <summary> /// Initializes a new instance of the <see cref="RollbarMiddleware" /> class. /// </summary> /// <param name="nextRequestProcessor">The next request processor.</param> /// <param name="configuration">The configuration.</param> /// <param name="loggerFactory">The logger factory.</param> /// <param name="rollbarOptions">The rollbar options.</param> public RollbarMiddleware( RequestDelegate nextRequestProcessor , IConfiguration configuration , ILoggerFactory loggerFactory , IOptions <RollbarOptions> rollbarOptions ) { this._nextRequestProcessor = nextRequestProcessor; this._logger = loggerFactory.CreateLogger <RollbarMiddleware>(); this._rollbarOptions = rollbarOptions.Value; if (!RollbarInfrastructure.Instance.IsInitialized) { RollbarConfigurationUtil.DeduceRollbarTelemetryConfig(configuration); RollbarInfrastructure.Instance?.TelemetryCollector?.StartAutocollection(); RollbarConfigurationUtil.DeduceRollbarConfig(configuration); } }