diff --git a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs index 866c113d5b..d36c4ef17e 100644 --- a/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs +++ b/src/Umbraco.Tests/Routing/RenderRouteHandlerTests.cs @@ -161,7 +161,7 @@ namespace Umbraco.Tests.Routing Factory.GetInstance(), Factory.GetInstance(), Factory.GetInstance(), - Factory.GetInstance>()); + Factory.GetInstance()); }), ShortStringHelper); handler.GetHandlerForRoute(httpContext.Request.RequestContext, frequest); @@ -198,8 +198,8 @@ namespace Umbraco.Tests.Routing /// public class CustomDocumentController : RenderMvcController { - public CustomDocumentController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, Umbraco.Core.Logging.ILogger logger) - : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, logger) + public CustomDocumentController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILoggerFactory loggerFactory) + : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, loggerFactory) { } diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs index 9c27f538c3..65746b5367 100644 --- a/src/Umbraco.Web/Editors/BackOfficeController.cs +++ b/src/Umbraco.Web/Editors/BackOfficeController.cs @@ -5,6 +5,7 @@ using System.Web; using System.Web.Mvc; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Options; +using Microsoft.Extensions.Logging; using Microsoft.Owin.Security; using Umbraco.Core; using Umbraco.Core.Cache; @@ -37,6 +38,7 @@ namespace Umbraco.Web.Editors private readonly IHostingEnvironment _hostingEnvironment; private readonly RuntimeSettings _runtimeSettings; private readonly SecuritySettings _securitySettings; + private readonly Microsoft.Extensions.Logging.ILogger _logger; public BackOfficeController( UmbracoFeatures features, @@ -45,13 +47,13 @@ namespace Umbraco.Web.Editors ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, - ILogger logger, + ILoggerFactory loggerFactory, IUmbracoVersion umbracoVersion, IOptions contentSettings, IHostingEnvironment hostingEnvironment, IOptions settings, IOptions securitySettings) - : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, logger) + : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, loggerFactory) { _features = features; @@ -60,6 +62,7 @@ namespace Umbraco.Web.Editors _hostingEnvironment = hostingEnvironment; _runtimeSettings = settings.Value; _securitySettings = securitySettings.Value; + _logger = loggerFactory.CreateLogger(); } protected BackOfficeSignInManager SignInManager => _signInManager ?? (_signInManager = OwinContext.GetBackOfficeSignInManager()); @@ -177,7 +180,7 @@ namespace Umbraco.Web.Editors var authType = OwinContext.Authentication.GetExternalAuthenticationTypes().FirstOrDefault(x => x.AuthenticationType == loginInfo.Login.LoginProvider); if (authType == null) { - Logger.LogWarning("Could not find external authentication provider registered: {LoginProvider}", loginInfo.Login.LoginProvider); + _logger.LogWarning("Could not find external authentication provider registered: {LoginProvider}", loginInfo.Login.LoginProvider); } else { @@ -200,7 +203,7 @@ namespace Umbraco.Web.Editors shouldSignIn = autoLinkOptions.OnExternalLogin(user, loginInfo); if (shouldSignIn == false) { - Logger.LogWarning("The AutoLinkOptions of the external authentication provider '{LoginProvider}' have refused the login based on the OnExternalLogin method. Affected user id: '{UserId}'", loginInfo.Login.LoginProvider, user.Id); + _logger.LogWarning("The AutoLinkOptions of the external authentication provider '{LoginProvider}' have refused the login based on the OnExternalLogin method. Affected user id: '{UserId}'", loginInfo.Login.LoginProvider, user.Id); } } diff --git a/src/Umbraco.Web/Mvc/RenderMvcController.cs b/src/Umbraco.Web/Mvc/RenderMvcController.cs index 00c485bca8..5d9f916582 100644 --- a/src/Umbraco.Web/Mvc/RenderMvcController.cs +++ b/src/Umbraco.Web/Mvc/RenderMvcController.cs @@ -1,6 +1,7 @@ using System; using System.Web.Mvc; using Microsoft.Extensions.Options; +using Microsoft.Extensions.Logging; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; @@ -21,16 +22,18 @@ namespace Umbraco.Web.Mvc public class RenderMvcController : UmbracoController, IRenderMvcController { private IPublishedRequest _publishedRequest; + private readonly Microsoft.Extensions.Logging.ILogger _logger; public RenderMvcController() { ActionInvoker = new RenderActionInvoker(); } - public RenderMvcController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILogger logger) - : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, logger) + public RenderMvcController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILoggerFactory loggerFactory) + : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, loggerFactory) { ActionInvoker = new RenderActionInvoker(); + _logger = loggerFactory.CreateLogger(); } /// @@ -70,7 +73,7 @@ namespace Umbraco.Web.Mvc var result = ViewEngines.Engines.FindView(ControllerContext, template, null); if (result.View != null) return true; - Logger.LogWarning("No physical template file was found for template {Template}", template); + _logger.LogWarning("No physical template file was found for template {Template}", template); return false; } diff --git a/src/Umbraco.Web/Mvc/UmbracoAuthorizedController.cs b/src/Umbraco.Web/Mvc/UmbracoAuthorizedController.cs index 759c3536c1..520a0ef738 100644 --- a/src/Umbraco.Web/Mvc/UmbracoAuthorizedController.cs +++ b/src/Umbraco.Web/Mvc/UmbracoAuthorizedController.cs @@ -1,4 +1,5 @@ using Microsoft.Extensions.Options; +using Microsoft.Extensions.Logging; using Umbraco.Core.Cache; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; @@ -23,8 +24,8 @@ namespace Umbraco.Web.Mvc { } - protected UmbracoAuthorizedController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILogger logger) - : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, logger) + protected UmbracoAuthorizedController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILoggerFactory loggerFactory) + : base(globalSettings, umbracoContextAccessor, services, appCaches, profilingLogger, loggerFactory) { } } diff --git a/src/Umbraco.Web/Mvc/UmbracoController.cs b/src/Umbraco.Web/Mvc/UmbracoController.cs index de4a4d7523..e7434163b7 100644 --- a/src/Umbraco.Web/Mvc/UmbracoController.cs +++ b/src/Umbraco.Web/Mvc/UmbracoController.cs @@ -1,6 +1,7 @@ using System; using System.Web; using System.Web.Mvc; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Microsoft.Owin; using Umbraco.Core.Cache; @@ -47,16 +48,17 @@ namespace Umbraco.Web.Mvc /// public AppCaches AppCaches { get; } - /// - /// Gets or sets the logger. - /// - public ILogger Logger { get; } /// /// Gets or sets the profiling logger. /// public IProfilingLogger ProfilingLogger { get; set; } + /// + /// Gets the LoggerFactory + /// + public ILoggerFactory LoggerFactory { get; } + protected IOwinContext OwinContext => Request.GetOwinContext(); /// @@ -76,19 +78,19 @@ namespace Umbraco.Web.Mvc Current.Factory.GetInstance(), Current.Factory.GetInstance(), Current.Factory.GetInstance(), - Current.Factory.GetInstance>() + Current.Factory.GetInstance() ) { } - protected UmbracoController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILogger logger) + protected UmbracoController(IOptions globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ILoggerFactory loggerFactory) { GlobalSettings = globalSettings; UmbracoContextAccessor = umbracoContextAccessor; Services = services; AppCaches = appCaches; - Logger = logger; ProfilingLogger = profilingLogger; + LoggerFactory = loggerFactory; } } }