public static IMyLoggerProviderBuilder AddPredefinedMySerilog(this IMyLoggerProviderBuilder builder)
 {
     return(builder
            .AddDefaultMySerilog()
            .AddInOutMySerilog()
            .AddHealthCheksMySerilog()
            );
 }
        public static IMyLoggerProviderBuilder AddHealthCheksMySerilog(this IMyLoggerProviderBuilder builder)
        {
            builder.AddMyLoggerProvider(MyLoggerConstants.HealthChecksLoggerName, (serviceProvider, name) =>
            {
                var factory = serviceProvider.GetRequiredService <IMyLoggerProviderFactory>();
                return(factory.CreateProvider(name));
            });

            return(builder);
        }
コード例 #3
0
        public static IMyLoggerProviderBuilder AddNamedMyLoggerProvider(this IMyLoggerProviderBuilder builder, string providerName)
        {
            builder.AddMyLoggerProvider(providerName, (serviceProvider, name) =>
            {
                var factory      = serviceProvider.GetRequiredService <IMyLoggerProviderFactory>();
                var options      = serviceProvider.GetRequiredService <IOptions <MyLoggerFactoryOptions> >();
                var registration = options.Value.Registrations.Single(registration => registration.Name == name);
                return(factory.CreateProvider(registration));
            });

            return(builder);
        }
コード例 #4
0
        public static IMyLoggerProviderBuilder AddMyLoggerProvider <T>(this IMyLoggerProviderBuilder builder, string name) where T : class, IMyLoggerProvider
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(builder.Add(new MyLoggerProviderRegistration(name, s => ActivatorUtilities.GetServiceOrCreateInstance <T>(s))));
        }
コード例 #5
0
        public static IMyLoggerProviderBuilder AddMyLoggerProvider(this IMyLoggerProviderBuilder builder, string name, IMyLoggerProvider instance)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (instance == null)
            {
                throw new ArgumentNullException(nameof(instance));
            }

            return(builder.Add(new MyLoggerProviderRegistration(name, instance)));
        }
コード例 #6
0
        public static IMyLoggerProviderBuilder AddMyLoggerProvider(this IMyLoggerProviderBuilder builder, string name, Func <IServiceProvider, string, IMyLoggerProvider> factory)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            if (factory is null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            return(builder.Add(new MyLoggerProviderRegistration(name, s => factory(s, name))));
        }
コード例 #7
0
 public static IMyLoggerProviderBuilder AddHealthCheksMyLoggerProvider(this IMyLoggerProviderBuilder builder) =>
 builder.AddNamedMyLoggerProvider(MyLoggerConstants.HealthChecksLoggerName);
コード例 #8
0
 public static IMyLoggerProviderBuilder AddInOutMyLoggerProvider(this IMyLoggerProviderBuilder builder) =>
 builder.AddNamedMyLoggerProvider(MyLoggerConstants.InOutLoggerName);
コード例 #9
0
 public static IMyLoggerProviderBuilder AddDefaultMyLoggerProvider(this IMyLoggerProviderBuilder builder) =>
 builder.AddNamedMyLoggerProvider(MyLoggerConstants.DefaultLoggerName);