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;
            }
        }
Example #2
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 #3
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());
        }