protected override void ConfigureWebHost(IWebHostBuilder builder) { builder .UseEnvironment("BuildTest") .UseDefaultServiceProvider(p => p.ValidateScopes = true) .ConfigureServices((context, services) => { // configure our petstore with a unique host so that we can mock it using different urls than other services we might want to mock services.PostConfigure <PetStoreOptions>(o => { o.Url = "http://petstore"; }); // since we registered with a named client, we can configure it so that we can mock all the requests and responses services.AddHttpClient(PetStoreOptions.HttpClientName).ConfigurePrimaryHttpMessageHandler(() => PetStoreMockHandler); AdditionalServices?.Invoke(context, services); }) .ConfigureAppConfiguration((context, configurationBuilder) => { AdditionalConfiguration?.Invoke(context, configurationBuilder); }) .ConfigureLogging((context, builder) => { builder.ClearProviders(); // values are picked up from appsetting.json builder.AddProvider(_loggerProvider); // log level cannot be modified here since this is triggered after the configuration settings have been established // need to make changes in the AdditionalConfiguration since that happens earlier in the lifecycle AdditionalLogging?.Invoke(context, builder); }); }
public static IWebHostBuilder UseLogging(this IWebHostBuilder builder) { builder.ConfigureLogging((context, builder) => builder .ClearProviders() .AddConfiguration(context.Configuration.GetSection("Logging")) .AddDebug() .AddEventSourceLogger() /* ...Add more logging as needed */); return(builder); }