Beispiel #1
0
        public Startup(IConfiguration configuration, IWebHostEnvironment environment)
        {
            Configuration = configuration;
            Environment   = environment;

            _loggerBuilder = new ApplicationLoggerBuilder(configuration, environment);
        }
Beispiel #2
0
        private void ConfigureLoggers(IServiceCollection services)
        {
            var builder = new ApplicationLoggerBuilder();

            IConfiguration configuration = new ConfigurationBuilder().Build();

            builder.ConfigureLoggingServices(configuration, services);

            var hostingEnvironment = new WebHostEnvironment()
            {
                EnvironmentName = this.options.EnvironmentName
            };

            const LogLevel minLevel = LogLevel.Trace;

            services.AddLogging(logging =>
            {
                logging.ClearProviders();

                if (options.LogToTestOutput)
                {
                    logging.AddXunit(output, minLevel);
                }
                if (options.LogToConsole)
                {
                    logging.AddConsole();
                }
                if (options.LogToSerilog)
                {
                    var loggerConfiguration = new LoggerConfiguration();
                    builder.ConfigureLogging(loggerConfiguration, hostingEnvironment);

                    logging.AddSerilog(loggerConfiguration.CreateLogger());
                }
            });

            services.PostConfigureAll <ConsoleLoggerOptions>(options =>
            {
                options.IncludeScopes = true;
            });
            services.PostConfigureAll <LoggerFilterOptions>(options =>
            {
                options.MinLevel = minLevel;
                options.Rules.Clear();
            });
        }