LinkTagHelper activates ILogger directly from DI:

- #1948
This commit is contained in:
damianedwards 2015-02-03 11:41:50 -08:00
parent 3d33418f31
commit ad66a71eeb
2 changed files with 18 additions and 24 deletions

View File

@ -57,18 +57,16 @@ namespace Microsoft.AspNet.Mvc.TagHelpers
// Protected to ensure subclasses are correctly activated. Internal for ease of use when testing.
[Activate]
protected internal ILoggerFactory LoggerFactory { get; set; }
protected internal ILogger<LinkTagHelper> Logger { get; set; }
/// <inheritdoc />
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var logger = LoggerFactory.Create<LinkTagHelper>();
if (!context.AllRequiredAttributesArePresent(RequiredAttributes, logger))
if (!context.AllRequiredAttributesArePresent(RequiredAttributes, Logger))
{
if (logger.IsEnabled(LogLevel.Verbose))
if (Logger.IsEnabled(LogLevel.Verbose))
{
logger.WriteVerbose("Skipping processing for {0} {1}", nameof(LinkTagHelper), context.UniqueId);
Logger.WriteVerbose("Skipping processing for {0} {1}", nameof(LinkTagHelper), context.UniqueId);
}
return;
}

View File

@ -26,12 +26,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test
{ "asp-fallback-test-value", "hidden" },
});
var output = MakeTagHelperOutput("link");
var loggerFactory = new Mock<ILoggerFactory>();
var logger = new Mock<ILogger<LinkTagHelper>>();
// Act
var helper = new LinkTagHelper
{
LoggerFactory = loggerFactory.Object,
Logger = logger.Object,
FallbackHref = "test.css",
FallbackTestClass = "hidden",
FallbackTestProperty = "visible",
@ -67,12 +67,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test
{ "data-extra", "something"},
{ "href", "test.css"}
});
var loggerFactory = new Mock<ILoggerFactory>();
var logger = new Mock<ILogger<LinkTagHelper>>();
// Act
var helper = new LinkTagHelper
{
LoggerFactory = loggerFactory.Object,
Logger = logger.Object,
FallbackHref = "test.css",
FallbackTestClass = "hidden",
FallbackTestProperty = "visible",
@ -97,14 +97,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test
{ "asp-fallback-test-value", "hidden" },
});
var output = MakeTagHelperOutput("link");
var logger = new Mock<ILogger>();
var loggerFactory = new Mock<ILoggerFactory>();
loggerFactory.Setup(f => f.Create(It.IsAny<string>())).Returns(logger.Object);
var logger = new Mock<ILogger<LinkTagHelper>>();
// Act
var helper = new LinkTagHelper
{
LoggerFactory = loggerFactory.Object,
Logger = logger.Object,
// This is commented out on purpose: FallbackHref = "test.css",
FallbackTestClass = "hidden",
FallbackTestProperty = "visible",
@ -123,14 +121,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test
// Arrange
var context = MakeTagHelperContext();
var output = MakeTagHelperOutput("link");
var logger = new Mock<ILogger>();
var loggerFactory = new Mock<ILoggerFactory>();
loggerFactory.Setup(f => f.Create(It.IsAny<string>())).Returns(logger.Object);
var logger = new Mock<ILogger<LinkTagHelper>>();
// Act
var helper = new LinkTagHelper
{
LoggerFactory = loggerFactory.Object
Logger = logger.Object
};
helper.Process(context, output);