Example #1
0
        /// <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);
            }
        }
Example #7
0
        /// <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;
            }
        }
Example #8
0
        /// <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());
        }