コード例 #1
0
        public static ILogServiceCollection AddExceptionless(this ILogServiceCollection services, IOptions <ExceptionlessSinkOptions> settings,
                                                             Action <IConfiguration, ExceptionlessSinkConfiguration> configAct = null)
        {
            services.AddSinkSettings <ExceptionlessSinkOptions, ExceptionlessSinkConfiguration>(settings.Value, (conf, sink) => configAct?.Invoke(conf, sink));
            services.AddDependency(s => {
                s.AddScoped <ILogPayloadClient, ExceptionlessPayloadClient>();
                s.AddSingleton <ILogPayloadClientProvider, ExceptionlessPayloadClientProvider>();
                s.TryAdd(ServiceDescriptor.Singleton(settings));
            });
            if (!string.IsNullOrWhiteSpace(settings.Value.OriginConfigFilePath))
            {
                services.ModifyConfigurationBuilder(b => b.AddFile(settings.Value.OriginConfigFilePath, settings.Value.OriginConfigFileType));
                services.AddOriginConfigAction(root => ExceptionlessClient.Default.Configuration.ReadFromConfiguration(root));
            }
            else if (services.BeGivenConfigurationBuilder || services.BeGivenConfigurationRoot)
            {
                services.AddOriginConfigAction(root => ExceptionlessClient.Default.Configuration.ReadFromConfiguration(root));
            }

            if (!string.IsNullOrWhiteSpace(settings.Value.ApiKey))
            {
                services.AddOriginConfigAction(root => ExceptionlessClient.Default.Startup(settings.Value.ApiKey));
            }
            else
            {
                services.AddOriginConfigAction(root => ExceptionlessClient.Default.Startup());
            }

            RegisterCoreComponentsTypes();

            return(services);
        }
コード例 #2
0
 private static void RegisterOriginalConfig(ILogServiceCollection services, string path, FileTypes fileType)
 {
     if (!string.IsNullOrWhiteSpace(path))
     {
         services.ModifyConfigurationBuilder(b => ConfigLoadingContext.Load(b, path, fileType));
         services.AddOriginalConfigAction(root => ExceptionlessClient.Default.Configuration.ReadFromConfiguration(root));
     }
     else if (services.BeGivenConfigurationBuilder || services.BeGivenConfigurationRoot)
     {
         services.AddOriginalConfigAction(root => ExceptionlessClient.Default.Configuration.ReadFromConfiguration(root));
     }
 }