/// <summary>
        /// Deduces the rollbar configuration.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <returns></returns>
        public static IRollbarConfig DeduceRollbarConfig(IConfiguration configuration)
        {
            if (RollbarLocator.RollbarInstance.Config.AccessToken != null)
            {
                return(RollbarLocator.RollbarInstance.Config);
            }

            // Here we assume that the Rollbar singleton was not explicitly preconfigured
            // anywhere in the code (Program.cs or Startup.cs),
            // so we are trying to configure it from IConfiguration:

            Assumption.AssertNotNull(configuration, nameof(configuration));

            const string  defaultAccessToken = "none";
            RollbarConfig rollbarConfig      = new RollbarConfig(defaultAccessToken);

            AppSettingsUtility.LoadAppSettings(rollbarConfig, configuration);

            if (rollbarConfig.AccessToken == defaultAccessToken)
            {
                const string error = "Rollbar.NET notifier is not configured properly. A valid access token needs to be specified.";
                throw new Exception(error);
            }

            RollbarLocator.RollbarInstance
            .Configure(rollbarConfig);

            return(rollbarConfig);
        }
 /// <summary>
 /// Loads the application settings.
 /// </summary>
 /// <param name="appSettingsFileName">Name of the application settings file.</param>
 /// <returns>Microsoft.Extensions.Configuration.IConfiguration.</returns>
 private static IConfiguration LoadAppSettings(string appSettingsFileName)
 {
     return(AppSettingsUtility.LoadAppSettings(
                Directory.GetCurrentDirectory(),
                appSettingsFileName
                ));
 }
        /// <summary>
        /// Loads the application settings.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="appSettings">The application settings.</param>
        /// <returns>false when the configuration was not found, otherwise true.</returns>
        public static bool LoadAppSettings(RollbarConfig config, IConfiguration appSettings)
        {
            Assumption.AssertNotNull(config, nameof(config));

            const string rollbarAppConfigSectionName = "Rollbar";

            return(AppSettingsUtility.LoadAppSettings(config, rollbarAppConfigSectionName, appSettings));
        }
        /// <summary>
        /// Deduces the rollbar telemetry configuration.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <returns></returns>
        public static ITelemetryConfig DeduceRollbarTelemetryConfig(IConfiguration configuration)
        {
            TelemetryConfig config = new TelemetryConfig();

            AppSettingsUtility.LoadAppSettings(config, configuration);

            TelemetryCollector.Instance.Config.Reconfigure(config);

            return(config);
        }
        /// <summary>
        /// Deduces the rollbar telemetry configuration.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <returns></returns>
        public static IRollbarTelemetryOptions DeduceRollbarTelemetryConfig(IConfiguration configuration)
        {
            RollbarTelemetryOptions config = new();

            AppSettingsUtility.LoadAppSettings(config, configuration);

            RollbarTelemetryCollector.Instance?.Config?.Reconfigure(config);

            return(config);
        }
        /// <summary>
        /// Loads the application settings.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <param name="appSettingsFolderPath">The application settings folder path.</param>
        /// <param name="appSettingsFileName">Name of the application settings file.</param>
        /// <returns>false when the configuration was not found, otherwise true.</returns>
        public static bool LoadAppSettings(RollbarConfig config, string appSettingsFolderPath, string appSettingsFileName)
        {
            Assumption.AssertNotNull(config, nameof(config));

            IConfiguration appSettingsConfig = AppSettingsUtility.LoadAppSettings(appSettingsFolderPath, appSettingsFileName);

            if (appSettingsConfig == null)
            {
                return(false);
            }

            AppSettingsUtility.LoadAppSettings(config, appSettingsConfig);
            return(true);
        }
        /// <summary>
        /// Loads the application settings.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <returns>false when the configuration was not found, otherwise true.</returns>
        public static bool LoadAppSettings(TelemetryConfig config)
        {
            Assumption.AssertNotNull(config, nameof(config));

            IConfiguration appSettingsConfig = AppSettingsUtility.LoadAppSettings();

            if (appSettingsConfig == null)
            {
                return(false);
            }

            AppSettingsUtility.LoadAppSettings(config, appSettingsConfig);
            return(true);
        }
        /// <summary>
        /// Loads the application settings.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <returns>false when the configuration was not found, otherwise true.</returns>
        public static bool LoadAppSettings(RollbarInfrastructureConfig config)
        {
            Assumption.AssertNotNull(config, nameof(config));

            IConfiguration?appSettingsConfig = AppSettingsUtility.LoadAppSettings();

            if (appSettingsConfig == null)
            {
                return(false);
            }

            AppSettingsUtility.LoadAppSettings(config, appSettingsConfig);
            return(true);
        }
 /// <summary>
 /// Loads the application settings.
 /// </summary>
 /// <returns>Microsoft.Extensions.Configuration.IConfiguration.</returns>
 private static IConfiguration LoadAppSettings()
 {
     return(AppSettingsUtility.LoadAppSettings("appsettings.json"));
 }
 /// <summary>
 /// Loads the provided configuration object based on found configuration store (if any).
 /// </summary>
 /// <param name="config">The configuration.</param>
 /// <returns><c>true</c> if configuration was found, <c>false</c> otherwise.</returns>
 public bool Load(TelemetryConfig config)
 {
     return(AppSettingsUtility.LoadAppSettings(config));
 }
 /// <summary>
 /// Loads the provided configuration object based on found configuration store (if any).
 /// </summary>
 /// <param name="config">The configuration.</param>
 /// <returns><c>true</c> if configuration was found, <c>false</c> otherwise.</returns>
 public bool Load(RollbarConfig config)
 {
     return(AppSettingsUtility.LoadAppSettings(config));
 }
Пример #12
0
 /// <summary>
 /// Loads the provided configuration object based on found configuration store (if any).
 /// </summary>
 /// <param name="config">The configuration.</param>
 /// <returns><c>true</c> if configuration was found, <c>false</c> otherwise.</returns>
 public bool Load(RollbarTelemetryOptions config)
 {
     return(AppSettingsUtility.LoadAppSettings(config));
 }
Пример #13
0
 /// <summary>
 /// Loads the provided configuration object based on found configuration store (if any).
 /// </summary>
 /// <param name="config">The configuration.</param>
 /// <returns><c>true</c> if configuration was found, <c>false</c> otherwise.</returns>
 public bool Load(RollbarInfrastructureConfig config)
 {
     return(AppSettingsUtility.LoadAppSettings(config));
 }