From ccb9f70545762abf48a7affa0a8494bb2d0a8248 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Thu, 5 Mar 2015 12:28:30 -0800 Subject: [PATCH] Go back to LoggerFactory temporarily - needed to unblock Hosting PR: https://github.com/aspnet/Hosting/pull/146 - Service fallback currently is broken with generic services (ILogger<> no worky) Hosting issue tracking: https://github.com/aspnet/Hosting/issues/180 --- src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs | 9 +++++++-- src/Microsoft.AspNet.Mvc.TagHelpers/ScriptTagHelper.cs | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs index 134db5b895..3e9a1d061b 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs @@ -140,7 +140,10 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Properties are protected to ensure subclasses are correctly activated. Internal for ease of use when testing. [Activate] - protected internal ILogger Logger { get; set; } + protected internal ILoggerFactory LoggerFactory { get; set; } + + // TODO: will remove LoggerFactory and activate logger once DI/hosting bug is fixed + internal ILogger Logger { get; set; } [Activate] protected internal IHostingEnvironment HostingEnvironment { get; set; } @@ -162,7 +165,9 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { var modeResult = AttributeMatcher.DetermineMode(context, ModeDetails); - modeResult.LogDetails(Logger, this, context.UniqueId, ViewContext.View.Path); + var logger = Logger ?? LoggerFactory.CreateLogger(); + + modeResult.LogDetails(logger, this, context.UniqueId, ViewContext.View.Path); if (!modeResult.FullMatches.Any()) { diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/ScriptTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/ScriptTagHelper.cs index 2d68008fee..1dbcfc8dde 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/ScriptTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/ScriptTagHelper.cs @@ -118,7 +118,10 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Protected to ensure subclasses are correctly activated. Internal for ease of use when testing. [Activate] - protected internal ILogger Logger { get; set; } + protected internal ILoggerFactory LoggerFactory { get; set; } + + // TODO: will remove LoggerFactory and activate logger once DI/hosting bug is fixed + internal ILogger Logger { get; set; } [Activate] protected internal IHostingEnvironment HostingEnvironment { get; set; } @@ -140,7 +143,9 @@ namespace Microsoft.AspNet.Mvc.TagHelpers { var modeResult = AttributeMatcher.DetermineMode(context, ModeDetails); - modeResult.LogDetails(Logger, this, context.UniqueId, ViewContext.View.Path); + var logger = Logger ?? LoggerFactory.CreateLogger(); + + modeResult.LogDetails(logger, this, context.UniqueId, ViewContext.View.Path); if (!modeResult.FullMatches.Any()) {