diff --git a/src/Microsoft.Extensions.Logging.Abstractions/LoggerFactoryExtensions.cs b/src/Microsoft.Extensions.Logging.Abstractions/LoggerFactoryExtensions.cs index 561f8213..56cc9ef3 100644 --- a/src/Microsoft.Extensions.Logging.Abstractions/LoggerFactoryExtensions.cs +++ b/src/Microsoft.Extensions.Logging.Abstractions/LoggerFactoryExtensions.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using Microsoft.Extensions.Internal; namespace Microsoft.Extensions.Logging { @@ -16,14 +15,14 @@ public static class LoggerFactoryExtensions /// /// The type. /// The factory. - public static ILogger CreateLogger(this ILoggerFactory factory) + public static ILogger CreateLogger(this ILoggerFactory factory) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } - return factory.CreateLogger(TypeNameHelper.GetTypeDisplayName(typeof(T), fullName: true)); + return new Logger(factory); } } } \ No newline at end of file diff --git a/src/Microsoft.Extensions.Logging/LoggerOfT.cs b/src/Microsoft.Extensions.Logging.Abstractions/LoggerOfT.cs similarity index 82% rename from src/Microsoft.Extensions.Logging/LoggerOfT.cs rename to src/Microsoft.Extensions.Logging.Abstractions/LoggerOfT.cs index 57a49757..28329af8 100644 --- a/src/Microsoft.Extensions.Logging/LoggerOfT.cs +++ b/src/Microsoft.Extensions.Logging.Abstractions/LoggerOfT.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using Microsoft.Extensions.Internal; namespace Microsoft.Extensions.Logging { @@ -13,14 +14,19 @@ namespace Microsoft.Extensions.Logging public class Logger : ILogger { private readonly ILogger _logger; - + /// /// Creates a new . /// /// The factory. public Logger(ILoggerFactory factory) { - _logger = factory.CreateLogger(); + if (factory == null) + { + throw new ArgumentNullException(nameof(factory)); + } + + _logger = factory.CreateLogger(TypeNameHelper.GetTypeDisplayName(typeof(T), fullName: true)); } IDisposable ILogger.BeginScopeImpl(object state)