From 6155b7f165aad859b83de0ae16e55f90bd75ebec Mon Sep 17 00:00:00 2001 From: Alexandru Macocian Date: Tue, 18 May 2021 17:21:41 +0200 Subject: [PATCH] Remove loggerfactory method and add loggerfactory to SetupServiceManager. --- WpfExtended.Test/Launcher.cs | 2 +- .../Extensions/ServiceManagerExtensions.cs | 22 ++++++++++++++++--- WpfExtended/Launch/ExtendedApplication.cs | 14 +----------- WpfExtended/WpfExtended.csproj | 2 +- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/WpfExtended.Test/Launcher.cs b/WpfExtended.Test/Launcher.cs index ecf57e1..ce84897 100644 --- a/WpfExtended.Test/Launcher.cs +++ b/WpfExtended.Test/Launcher.cs @@ -2,7 +2,6 @@ using Slim; using System; using System.Extensions; -using System.Http; using System.Net.Http; using System.Windows.Extensions; using System.Windows.Extensions.Http; @@ -23,6 +22,7 @@ namespace WpfExtended.Tests protected override void SetupServiceManager(IServiceManager serviceManager) { + serviceManager.RegisterLoggerFactory(); serviceManager.RegisterResolver( new HttpClientResolver() .WithHttpMessageHandlerFactory((sp, category) => diff --git a/WpfExtended/Extensions/ServiceManagerExtensions.cs b/WpfExtended/Extensions/ServiceManagerExtensions.cs index cefbdec..1e0d777 100644 --- a/WpfExtended/Extensions/ServiceManagerExtensions.cs +++ b/WpfExtended/Extensions/ServiceManagerExtensions.cs @@ -1,4 +1,6 @@ -using Slim; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Debug; +using Slim; using System.Extensions; using System.Net.Http; using System.Windows.Extensions.Http; @@ -7,7 +9,21 @@ namespace System.Windows.Extensions { public static class ServiceManagerExtensions { - public static IServiceProducer RegisterHttpFactory(this IServiceManager serviceManager) + public static IServiceManager RegisterLoggerFactory(this IServiceManager serviceManager, Func loggerFactory) + { + serviceManager.RegisterSingleton(loggerFactory); + return serviceManager; + } + + public static IServiceManager RegisterLoggerFactory(this IServiceManager serviceManager) + { + var factory = new LoggerFactory(); + factory.AddProvider(new DebugLoggerProvider()); + serviceManager.RegisterSingleton(_ => factory); + return serviceManager; + } + + public static IServiceManager RegisterHttpFactory(this IServiceManager serviceManager) { serviceManager.ThrowIfNull(nameof(serviceManager)); @@ -15,7 +31,7 @@ namespace System.Windows.Extensions return serviceManager; } - public static IServiceProducer RegisterHttpFactory(this IServiceManager serviceManager, Func handlerFactory) + public static IServiceManager RegisterHttpFactory(this IServiceManager serviceManager, Func handlerFactory) { serviceManager.ThrowIfNull(nameof(serviceManager)); diff --git a/WpfExtended/Launch/ExtendedApplication.cs b/WpfExtended/Launch/ExtendedApplication.cs index f2ab228..559e152 100644 --- a/WpfExtended/Launch/ExtendedApplication.cs +++ b/WpfExtended/Launch/ExtendedApplication.cs @@ -27,19 +27,9 @@ namespace System.Windows.Extensions /// protected virtual void SetupServiceManager(IServiceManager serviceManager) { + serviceManager.RegisterLoggerFactory(); serviceManager.RegisterHttpFactory(); } - /// - /// Setup the logger factory used to create the loggers. - /// - /// By default, this method creates a with only one . - /// used to create loggers. - protected virtual ILoggerFactory SetupLoggerFactory() - { - var factory = new LoggerFactory(); - factory.AddProvider(new DebugLoggerProvider()); - return factory; - } /// /// Called right before the window is shown. @@ -64,8 +54,6 @@ namespace System.Windows.Extensions protected sealed override void OnStartup(StartupEventArgs e) { this.SetupExceptionHandling(); - this.LoggerFactory = this.SetupLoggerFactory(); - this.ServiceManager.RegisterSingleton(_ => this.LoggerFactory); this.SetupServiceManager(this.ServiceManager); this.RegisterServices(this.ServiceManager); this.SetupApplicationLifetime(); diff --git a/WpfExtended/WpfExtended.csproj b/WpfExtended/WpfExtended.csproj index d449100..3e023fa 100644 --- a/WpfExtended/WpfExtended.csproj +++ b/WpfExtended/WpfExtended.csproj @@ -6,7 +6,7 @@ true true License.txt - 0.3.2 + 0.3.3 latest Extension library for Windows Presentation Platform.