From a406bfd86fbd1245f1064bc2518a9b5e5067e07d Mon Sep 17 00:00:00 2001 From: John Luo Date: Fri, 25 Mar 2016 17:11:21 -0700 Subject: [PATCH] Add addtional test and some comments --- .../WebHostBuilder.cs | 4 ++-- .../WebHostBuilderTests.cs | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNetCore.Hosting/WebHostBuilder.cs b/src/Microsoft.AspNetCore.Hosting/WebHostBuilder.cs index 92a6377e63..ff5494b9d6 100644 --- a/src/Microsoft.AspNetCore.Hosting/WebHostBuilder.cs +++ b/src/Microsoft.AspNetCore.Hosting/WebHostBuilder.cs @@ -221,8 +221,8 @@ namespace Microsoft.AspNetCore.Hosting configureLogging(_loggerFactory); } - services.AddSingleton(_loggerFactory); - services.AddLogging(); + services.AddSingleton(_loggerFactory); //The configured ILoggerFactory is added as a singleton here. AddLogging below will not add an additional one. + services.AddLogging(); //This is required to add ILogger of T. services.AddTransient(); diff --git a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs index ce4ad8c0f4..14531d07a0 100644 --- a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs +++ b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs @@ -169,6 +169,26 @@ namespace Microsoft.AspNetCore.Hosting Assert.Same(loggerFactory, host.Services.GetService()); } + [Fact] + public void MultipleConfigureLoggingInvokedInOrder() + { + var callCount = 0; //Verify ordering + var hostBuilder = new WebHostBuilder() + .ConfigureLogging(loggerFactory => + { + Assert.Equal(0, callCount++); + }) + .ConfigureLogging(loggerFactory => + { + Assert.Equal(1, callCount++); + }) + .UseServer(new TestServer()) + .UseStartup(); + + var host = (WebHost)hostBuilder.Build(); + Assert.Equal(2, callCount); + } + [Fact] public void DefaultHostingConfigurationDoesNotCaptureStartupErrors() {