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()) {