Beispiel #1
0
        static IHostBuilder DoUseMonitoring(IHostBuilder builder, GrandOutput?grandOutput, Func <IConfiguration, IConfigurationSection> configSection)
        {
            var initializer = new GrandOutputConfigurationInitializer(grandOutput);

            initializer.ConfigureBuilder(builder, configSection);
            return(builder);
        }
        /// <summary>
        /// Initialize from IConfigurationSection instead of configurationPath.
        /// </summary>
        static IWebHostBuilder DoUseMonitoring(IWebHostBuilder builder, GrandOutput grandOutput, IConfigurationSection configuration)
        {
            var initializer = new GrandOutputConfigurationInitializer(grandOutput);

            builder.ConfigureLogging((ctx, loggingBuilder) =>
            {
                initializer.Initialize(ctx.HostingEnvironment, loggingBuilder, configuration);
            });
            return(AddPostInstanciationStartupFilter(builder, initializer));
        }
        static IWebHostBuilder DoUseMonitoring(IWebHostBuilder builder, GrandOutput grandOutput, string configurationPath)
        {
            // Three steps initialization:
            // First creates the initializer instance.
            var initializer = new GrandOutputConfigurationInitializer(grandOutput);

            builder.ConfigureLogging((ctx, loggingBuilder) =>
            {
                var section = ctx.Configuration.GetSection(configurationPath);
                // Second, give it the environment and its section.
                initializer.Initialize(ctx.HostingEnvironment, loggingBuilder, section);
            });
            // Now, registers the PostInstanciationFilter as a transient object.
            // This startup filter will inject the Application service IApplicationLifetime.
            return(AddPostInstanciationStartupFilter(builder, initializer));
        }
 static IWebHostBuilder AddPostInstanciationStartupFilter(IWebHostBuilder builder, GrandOutputConfigurationInitializer initializer)
 {
     return(builder.ConfigureServices(services =>
     {
         services.AddTransient <IStartupFilter>(_ => new PostInstanciationFilter(initializer));
     }));
 }
 public PostInstanciationFilter(GrandOutputConfigurationInitializer initalizer)
 {
     _initalizer = initalizer;
 }