/// <summary> /// Initializes a new instance of the <see cref="PlugInCoreBase"/> class. /// </summary> /// <param name="rollbarConfig">The rollbar configuration.</param> /// <param name="rollbarBlockingTimeout">The rollbar blocking timeout.</param> protected PlugInCoreBase( IRollbarInfrastructureConfig?rollbarConfig, TimeSpan?rollbarBlockingTimeout ) { if (rollbarConfig == null) { var configLoader = new RollbarConfigurationLoader(); rollbarConfig = configLoader.LoadRollbarConfig(); } if (rollbarConfig == null) { throw new RollbarException(InternalRollbarError.ConfigurationError, $"{this.GetType().FullName}: Failed to load Rollbar configuration!"); } // first, initialize the infrastructure: if (!RollbarInfrastructure.Instance.IsInitialized) { RollbarInfrastructure.Instance.Init(rollbarConfig); } // create proper IRollbar instance: this.rollbar = RollbarFactory.CreateNew(rollbarConfig.RollbarLoggerConfig); // create proper RollbarLogger instance: if (rollbarBlockingTimeout.HasValue) { this.rollbarLogger = this.rollbar.AsBlockingLogger(rollbarBlockingTimeout.Value); } else { this.rollbarLogger = this.rollbar.Logger; } }
internal RollbarConfig(RollbarLogger logger) { this._logger = logger; this.SetDefaults(); // initialize based on application configuration file (if any): var configLoader = new RollbarConfigurationLoader(); configLoader.Load(this); }
private void SetDefaults() { // let's set some default values: this.TelemetryEnabled = false; this.TelemetryQueueDepth = 5; this.TelemetryAutoCollectionTypes = TelemetryType.None; this.TelemetryAutoCollectionInterval = TimeSpan.Zero; // initialize based on application configuration file (if any): var configLoader = new RollbarConfigurationLoader(); configLoader.Load(this); }
/// <summary> /// Initializes a new instance of the <see cref="RollbarLoggerConfig"/> class. /// </summary> /// <param name="logger">The logger.</param> internal RollbarLoggerConfig(IRollbar logger) { this._logger = logger; this.SetDefaults(); // initialize based on application configuration file (if any): var configLoader = new RollbarConfigurationLoader(); RollbarInfrastructureConfig config = new RollbarInfrastructureConfig(); configLoader.Load(config); this.Reconfigure(config.RollbarLoggerConfig); }
/// <summary> /// Initializes a new instance of the <see cref="RollbarConfig"/> class. /// </summary> /// <param name="accessToken">The access token.</param> public RollbarConfig(string accessToken) { this.SetDefaults(); if (!string.IsNullOrWhiteSpace(accessToken)) { this.AccessToken = accessToken; } else { // initialize based on application configuration file (if any): var configLoader = new RollbarConfigurationLoader(); configLoader.Load(this); } }
/// <summary> /// Initializes a new instance of the <see cref="RollbarLoggerConfig" /> class. /// </summary> /// <param name="accessToken">The access token.</param> /// <param name="rollbarEnvironment">The rollbar environment.</param> public RollbarLoggerConfig(string?accessToken, string?rollbarEnvironment = null) { this.SetDefaults(); if (!string.IsNullOrWhiteSpace(accessToken)) { this._rollbarDestinationOptions.AccessToken = accessToken; if (!string.IsNullOrWhiteSpace(rollbarEnvironment)) { this._rollbarDestinationOptions.Environment = rollbarEnvironment; } } else { // initialize based on application configuration file (if any): var configLoader = new RollbarConfigurationLoader(); RollbarInfrastructureConfig config = new RollbarInfrastructureConfig(); configLoader.Load(config); this.Reconfigure(config.RollbarLoggerConfig); } }
/// <summary> /// Initializes a new instance of the <see cref="PlugInCoreBase"/> class. /// </summary> /// <param name="rollbarConfig">The rollbar configuration.</param> /// <param name="rollbarBlockingTimeout">The rollbar blocking timeout.</param> protected PlugInCoreBase( IRollbarConfig rollbarConfig, TimeSpan?rollbarBlockingTimeout ) { if (rollbarConfig == null) { var configLoader = new RollbarConfigurationLoader(); rollbarConfig = configLoader.LoadRollbarConfig(); } this._rollbar = RollbarFactory.CreateNew().Configure(rollbarConfig); if (rollbarBlockingTimeout.HasValue) { this._rollbarLogger = this._rollbar.AsBlockingLogger(rollbarBlockingTimeout.Value); } else { this._rollbarLogger = this._rollbar.Logger; } }
/// <summary> /// Initializes a new <see cref="IRollbarInfrastructureConfig"/> from app.config (NetFramework) / appsettings.json (NetCore) /// </summary> private static IRollbarInfrastructureConfig?CreateDefaultRollbarConfig() { var configLoader = new RollbarConfigurationLoader(); return(configLoader.LoadRollbarConfig()); }