From 58b962356958a8ddb6d42bb1a4aacf8fda1877ba Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Tue, 6 Jun 2017 10:15:08 -0700 Subject: [PATCH 1/3] Microsoft.Extensions.Logging.Configuration --- Logging.sln | 17 +++++++++++++- samples/SampleApp/SampleApp.csproj | 2 +- .../LoggerFilterConfigureOptions.cs | 0 .../LoggingBuilderExtensions.cs | 23 +++++++++++++++++++ ...ft.Extensions.Logging.Configuration.csproj | 21 +++++++++++++++++ .../NuGet.config | 6 +++++ ...figurationConsoleLoggerConfigureOptions.cs | 15 ------------ .../ConsoleLoggerFactoryExtensions.cs | 18 --------------- .../LoggingBuilderExtensions.cs | 10 -------- .../Microsoft.Extensions.Logging.csproj | 2 -- .../Microsoft.Extensions.Logging.Test.csproj | 2 +- 11 files changed, 68 insertions(+), 48 deletions(-) rename src/{Microsoft.Extensions.Logging => Microsoft.Extensions.Logging.Configuration}/LoggerFilterConfigureOptions.cs (100%) create mode 100644 src/Microsoft.Extensions.Logging.Configuration/LoggingBuilderExtensions.cs create mode 100644 src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj create mode 100644 src/Microsoft.Extensions.Logging.Configuration/NuGet.config delete mode 100644 src/Microsoft.Extensions.Logging.Console/ConfigurationConsoleLoggerConfigureOptions.cs diff --git a/Logging.sln b/Logging.sln index a2437e41..e05e11c8 100644 --- a/Logging.sln +++ b/Logging.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26413.2 +VisualStudioVersion = 15.0.26510.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Extensions.Logging", "src\Microsoft.Extensions.Logging\Microsoft.Extensions.Logging.csproj", "{19D1B6C5-8A62-4387-8816-C54874D1DF5F}" EndProject @@ -43,6 +43,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{C3F6BF54 build\Key.snk = build\Key.snk EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Logging.Configuration", "src\Microsoft.Extensions.Logging.Configuration\Microsoft.Extensions.Logging.Configuration.csproj", "{6D921637-507E-4CDC-8C5F-C3D6B62D118C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -211,6 +213,18 @@ Global {B4A43221-DE95-47BB-A2D4-2DC761FC9419}.Release|Mixed Platforms.Build.0 = Release|Any CPU {B4A43221-DE95-47BB-A2D4-2DC761FC9419}.Release|x86.ActiveCfg = Release|Any CPU {B4A43221-DE95-47BB-A2D4-2DC761FC9419}.Release|x86.Build.0 = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|x86.ActiveCfg = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Debug|x86.Build.0 = Debug|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|Any CPU.Build.0 = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|x86.ActiveCfg = Release|Any CPU + {6D921637-507E-4CDC-8C5F-C3D6B62D118C}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -230,5 +244,6 @@ Global {F3B898C3-D441-4207-A92B-420D6E73CA5D} = {09920C51-6220-4D8D-94DC-E70C13446187} {854133D5-6252-4A0A-B682-BDBB83B62AE6} = {699DB330-0095-4266-B7B0-3EAB3710CA49} {B4A43221-DE95-47BB-A2D4-2DC761FC9419} = {09920C51-6220-4D8D-94DC-E70C13446187} + {6D921637-507E-4CDC-8C5F-C3D6B62D118C} = {699DB330-0095-4266-B7B0-3EAB3710CA49} EndGlobalSection EndGlobal diff --git a/samples/SampleApp/SampleApp.csproj b/samples/SampleApp/SampleApp.csproj index 1d5f9dcd..0d00fa5d 100644 --- a/samples/SampleApp/SampleApp.csproj +++ b/samples/SampleApp/SampleApp.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Microsoft.Extensions.Logging/LoggerFilterConfigureOptions.cs b/src/Microsoft.Extensions.Logging.Configuration/LoggerFilterConfigureOptions.cs similarity index 100% rename from src/Microsoft.Extensions.Logging/LoggerFilterConfigureOptions.cs rename to src/Microsoft.Extensions.Logging.Configuration/LoggerFilterConfigureOptions.cs diff --git a/src/Microsoft.Extensions.Logging.Configuration/LoggingBuilderExtensions.cs b/src/Microsoft.Extensions.Logging.Configuration/LoggingBuilderExtensions.cs new file mode 100644 index 00000000..e6dd88c4 --- /dev/null +++ b/src/Microsoft.Extensions.Logging.Configuration/LoggingBuilderExtensions.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +namespace Microsoft.Extensions.Logging +{ + /// + /// Extension methods for setting up logging services in an . + /// + public static class LoggingBuilderExtensions + { + public static ILoggingBuilder AddConfiguration(this ILoggingBuilder builder, IConfiguration configuration) + { + builder.Services.AddSingleton>(new LoggerFilterConfigureOptions(configuration)); + builder.Services.AddSingleton>(new ConfigurationChangeTokenSource(configuration)); + + return builder; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj b/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj new file mode 100644 index 00000000..18f4ae0e --- /dev/null +++ b/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj @@ -0,0 +1,21 @@ + + + + + + Logging infrastructure default implementation for Microsoft.Extensions.Logging. + netstandard1.1 + $(NoWarn);CS1591 + true + logging + + + + + + + + + + + diff --git a/src/Microsoft.Extensions.Logging.Configuration/NuGet.config b/src/Microsoft.Extensions.Logging.Configuration/NuGet.config new file mode 100644 index 00000000..7be9c71e --- /dev/null +++ b/src/Microsoft.Extensions.Logging.Configuration/NuGet.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Microsoft.Extensions.Logging.Console/ConfigurationConsoleLoggerConfigureOptions.cs b/src/Microsoft.Extensions.Logging.Console/ConfigurationConsoleLoggerConfigureOptions.cs deleted file mode 100644 index ad48312a..00000000 --- a/src/Microsoft.Extensions.Logging.Console/ConfigurationConsoleLoggerConfigureOptions.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Options; - -namespace Microsoft.Extensions.Logging.Console -{ - public class ConfigurationConsoleLoggerConfigureOptions : ConfigureOptions - { - public ConfigurationConsoleLoggerConfigureOptions(IConfiguration configuration) : base(configuration.Bind) - { - } - } -} \ No newline at end of file diff --git a/src/Microsoft.Extensions.Logging.Console/ConsoleLoggerFactoryExtensions.cs b/src/Microsoft.Extensions.Logging.Console/ConsoleLoggerFactoryExtensions.cs index 6beabca4..c8e47da2 100644 --- a/src/Microsoft.Extensions.Logging.Console/ConsoleLoggerFactoryExtensions.cs +++ b/src/Microsoft.Extensions.Logging.Console/ConsoleLoggerFactoryExtensions.cs @@ -39,24 +39,6 @@ public static ILoggingBuilder AddConsole(this ILoggingBuilder builder, Action - /// Adds a console logger named 'Console' to the factory. - /// - /// The to use. - /// - public static ILoggingBuilder AddConsole(this ILoggingBuilder builder, IConfiguration configuration) - { - if (configuration == null) - { - throw new ArgumentNullException(nameof(configuration)); - } - - builder.AddConsole(); - builder.Services.Configure(configuration); - - return builder; - } - /// /// Adds a console logger that is enabled for .Information or higher. /// diff --git a/src/Microsoft.Extensions.Logging/LoggingBuilderExtensions.cs b/src/Microsoft.Extensions.Logging/LoggingBuilderExtensions.cs index 14a08df1..260d2c0f 100644 --- a/src/Microsoft.Extensions.Logging/LoggingBuilderExtensions.cs +++ b/src/Microsoft.Extensions.Logging/LoggingBuilderExtensions.cs @@ -1,9 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; namespace Microsoft.Extensions.Logging @@ -13,14 +11,6 @@ namespace Microsoft.Extensions.Logging /// public static class LoggingBuilderExtensions { - public static ILoggingBuilder AddConfiguration(this ILoggingBuilder builder, IConfiguration configuration) - { - builder.Services.AddSingleton>(new LoggerFilterConfigureOptions(configuration)); - builder.Services.AddSingleton>(new ConfigurationChangeTokenSource(configuration)); - - return builder; - } - public static ILoggingBuilder SetMinimumLevel(this ILoggingBuilder builder, LogLevel level) { builder.Services.Add(ServiceDescriptor.Singleton>( diff --git a/src/Microsoft.Extensions.Logging/Microsoft.Extensions.Logging.csproj b/src/Microsoft.Extensions.Logging/Microsoft.Extensions.Logging.csproj index 2d0d3432..90a7163f 100644 --- a/src/Microsoft.Extensions.Logging/Microsoft.Extensions.Logging.csproj +++ b/src/Microsoft.Extensions.Logging/Microsoft.Extensions.Logging.csproj @@ -15,10 +15,8 @@ - - diff --git a/test/Microsoft.Extensions.Logging.Test/Microsoft.Extensions.Logging.Test.csproj b/test/Microsoft.Extensions.Logging.Test/Microsoft.Extensions.Logging.Test.csproj index 7f7b7f56..cd8387bb 100644 --- a/test/Microsoft.Extensions.Logging.Test/Microsoft.Extensions.Logging.Test.csproj +++ b/test/Microsoft.Extensions.Logging.Test/Microsoft.Extensions.Logging.Test.csproj @@ -8,7 +8,7 @@ - + From 060e03bab3d35e6c917ba1f7dc775149e6e662b2 Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Tue, 6 Jun 2017 10:30:53 -0700 Subject: [PATCH 2/3] Description --- .../Microsoft.Extensions.Logging.Configuration.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj b/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj index 18f4ae0e..ab861ea3 100644 --- a/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj +++ b/src/Microsoft.Extensions.Logging.Configuration/Microsoft.Extensions.Logging.Configuration.csproj @@ -3,7 +3,7 @@ - Logging infrastructure default implementation for Microsoft.Extensions.Logging. + Configuration support for Microsoft.Extensions.Logging. netstandard1.1 $(NoWarn);CS1591 true From 8f504860674eaaba92eb1691f66a2836c9867759 Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Tue, 6 Jun 2017 14:05:54 -0700 Subject: [PATCH 3/3] Test and remove file --- .../NuGet.config | 6 ------ .../LoggerFilterTest.cs | 13 ++++++++++++- 2 files changed, 12 insertions(+), 7 deletions(-) delete mode 100644 src/Microsoft.Extensions.Logging.Configuration/NuGet.config diff --git a/src/Microsoft.Extensions.Logging.Configuration/NuGet.config b/src/Microsoft.Extensions.Logging.Configuration/NuGet.config deleted file mode 100644 index 7be9c71e..00000000 --- a/src/Microsoft.Extensions.Logging.Configuration/NuGet.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/test/Microsoft.Extensions.Logging.Test/LoggerFilterTest.cs b/test/Microsoft.Extensions.Logging.Test/LoggerFilterTest.cs index db725d16..ff825eb0 100644 --- a/test/Microsoft.Extensions.Logging.Test/LoggerFilterTest.cs +++ b/test/Microsoft.Extensions.Logging.Test/LoggerFilterTest.cs @@ -423,7 +423,18 @@ public void FilterTest(LoggerFilterOptions options, (string category, LogLevel l public static TheoryData FilterTestData = new TheoryData() { - { // Provider specific rule if preferred + { + new LoggerFilterOptions() + { + Rules = + { + new LoggerFilterRule(typeof(TestLoggerProvider).FullName, "System", LogLevel.Information, null), + new LoggerFilterRule(null, "Microsoft", LogLevel.Trace, null) + } + }, + ("Microsoft", LogLevel.Debug, true, true) + }, + { // Provider specific rule if preferred new LoggerFilterOptions() { Rules =