From 089bb4a07296bb2b5f9fd7b037a4af347bd1c449 Mon Sep 17 00:00:00 2001 From: Safia Abdalla Date: Fri, 17 Apr 2020 20:55:07 -0700 Subject: [PATCH] Improve tests for logging configuration support (#20973) --- .../test/E2ETest/Tests/WebAssemblyLoggingTest.cs | 8 +++++--- .../BasicTestApp/PrependMessageLoggerProvider.cs | 1 + src/Components/test/testassets/BasicTestApp/Program.cs | 5 ++++- .../test/testassets/BasicTestApp/wwwroot/appsettings.json | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/Components/test/E2ETest/Tests/WebAssemblyLoggingTest.cs b/src/Components/test/E2ETest/Tests/WebAssemblyLoggingTest.cs index acb8df650f..5d83568f50 100644 --- a/src/Components/test/E2ETest/Tests/WebAssemblyLoggingTest.cs +++ b/src/Components/test/E2ETest/Tests/WebAssemblyLoggingTest.cs @@ -85,11 +85,13 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests Browser.FindElement(By.Id("log-none")).Click(); Browser.FindElement(By.Id("log-trace")).Click(); Browser.FindElement(By.Id("log-debug")).Click(); - AssertLastLogMessage(LogLevel.Info, "Test log message"); + Browser.FindElement(By.Id("log-information")).Click(); + // The Warning minimum log-level is only set on the PrependMessage + // logger so the last info log will be processed by the default + // logger but not the PrependMessage one. + AssertLastLogMessage(LogLevel.Info, "info: BasicTestApp.ErrorComponent[0]"); // These severity levels are displayed - Browser.FindElement(By.Id("log-information")).Click(); - AssertLastLogMessage(LogLevel.Info, "[Custom logger] This is a Information message with count=4"); Browser.FindElement(By.Id("log-warning")).Click(); AssertLastLogMessage(LogLevel.Warning, "[Custom logger] This is a Warning message with count=5"); Browser.FindElement(By.Id("log-error")).Click(); diff --git a/src/Components/test/testassets/BasicTestApp/PrependMessageLoggerProvider.cs b/src/Components/test/testassets/BasicTestApp/PrependMessageLoggerProvider.cs index e0025ec78c..35d4fd72bb 100644 --- a/src/Components/test/testassets/BasicTestApp/PrependMessageLoggerProvider.cs +++ b/src/Components/test/testassets/BasicTestApp/PrependMessageLoggerProvider.cs @@ -9,6 +9,7 @@ using Microsoft.JSInterop; namespace BasicTestApp { + [ProviderAlias("PrependMessage")] internal class PrependMessageLoggerProvider : ILoggerProvider { ILogger _logger; diff --git a/src/Components/test/testassets/BasicTestApp/Program.cs b/src/Components/test/testassets/BasicTestApp/Program.cs index b551746301..01d7c29f00 100644 --- a/src/Components/test/testassets/BasicTestApp/Program.cs +++ b/src/Components/test/testassets/BasicTestApp/Program.cs @@ -14,6 +14,7 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using Microsoft.AspNetCore.Components.WebAssembly.Http; using Microsoft.AspNetCore.Components.WebAssembly.Services; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Configuration; using Microsoft.JSInterop; @@ -37,9 +38,11 @@ namespace BasicTestApp policy.RequireAssertion(ctx => ctx.User.Identity.Name?.StartsWith("B") ?? false)); }); + builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging")); + builder.Logging.Services.AddSingleton(s => new PrependMessageLoggerProvider(builder.Configuration["Logging:PrependMessage:Message"], s.GetService())); - builder.Logging.AddConfiguration(builder.Configuration); + var host = builder.Build(); ConfigureCulture(host); diff --git a/src/Components/test/testassets/BasicTestApp/wwwroot/appsettings.json b/src/Components/test/testassets/BasicTestApp/wwwroot/appsettings.json index 1e5d60a721..6534159aa0 100644 --- a/src/Components/test/testassets/BasicTestApp/wwwroot/appsettings.json +++ b/src/Components/test/testassets/BasicTestApp/wwwroot/appsettings.json @@ -3,9 +3,9 @@ "key2": "Default key2-value", "Logging": { "PrependMessage": { - "Message": "Custom logger", + "Message": "Custom logger", "LogLevel": { - "Default": "Information" + "Default": "Warning" } } }