diff --git a/src/Umbraco.Core/Logging/ProfilingLogger.cs b/src/Umbraco.Core/Logging/ProfilingLogger.cs index 386fcda619..da3efdb5bf 100644 --- a/src/Umbraco.Core/Logging/ProfilingLogger.cs +++ b/src/Umbraco.Core/Logging/ProfilingLogger.cs @@ -1,5 +1,6 @@ using System; using Microsoft.Extensions.Logging; +using Umbraco.Core.Models; namespace Umbraco.Core.Logging @@ -12,7 +13,7 @@ namespace Umbraco.Core.Logging /// /// Gets the underlying implementation. /// - public Microsoft.Extensions.Logging.ILogger Logger { get; } + public ILogger Logger { get; } /// /// Gets the underlying implementation. @@ -22,8 +23,9 @@ namespace Umbraco.Core.Logging /// /// Initializes a new instance of the class. /// - public ProfilingLogger(Microsoft.Extensions.Logging.ILogger logger, IProfiler profiler) + public ProfilingLogger(ILogger logger, IProfiler profiler) { + // TODO: Use typed logger Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Profiler = profiler ?? throw new ArgumentNullException(nameof(profiler)); } diff --git a/src/Umbraco.Tests/Components/ComponentTests.cs b/src/Umbraco.Tests/Components/ComponentTests.cs index 9e209f633f..e800d5a8a2 100644 --- a/src/Umbraco.Tests/Components/ComponentTests.cs +++ b/src/Umbraco.Tests/Components/ComponentTests.cs @@ -18,7 +18,6 @@ using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Scoping; using Umbraco.Tests.Common.Builders; using Umbraco.Tests.TestHelpers; -using ILogger = Microsoft.Extensions.Logging.ILogger; namespace Umbraco.Tests.Components { @@ -98,6 +97,7 @@ namespace Umbraco.Tests.Components if (type == typeof(Composer5)) return new Composer5(); if (type == typeof(Component5)) return new Component5(new SomeResource()); if (type == typeof(IProfilingLogger)) return new ProfilingLogger(Mock.Of(), Mock.Of()); + if (type == typeof(ILogger)) return Mock.Of(); throw new NotSupportedException(type.FullName); }); }); diff --git a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs index c521e56acc..e658f10bd1 100644 --- a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs +++ b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs @@ -91,7 +91,7 @@ namespace Umbraco.Tests.TestHelpers return TestObjects.GetDatabaseFactoryMock(); var lazyMappers = new Lazy(f.GetInstance); - var factory = new UmbracoDatabaseFactory(f.GetInstance>(), NullLoggerFactory.Instance, GetDbConnectionString(), GetDbProviderName(), lazyMappers, TestHelper.DbProviderFactoryCreator); + var factory = new UmbracoDatabaseFactory(f.GetInstance>(), f.GetInstance(), GetDbConnectionString(), GetDbProviderName(), lazyMappers, TestHelper.DbProviderFactoryCreator); factory.ResetForTests(); return factory; }); diff --git a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs index a578b693b0..3bf528aaa9 100644 --- a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs +++ b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs @@ -120,8 +120,9 @@ namespace Umbraco.Tests.Testing #region Accessors protected ServiceContext ServiceContext => Factory.GetInstance(); - + protected ILoggerFactory LoggerFactory => Factory.GetInstance(); + protected IJsonSerializer JsonNetSerializer { get; } = new JsonNetSerializer(); protected IIOHelper IOHelper { get; private set; } @@ -154,6 +155,7 @@ namespace Umbraco.Tests.Testing protected UmbracoMapper Mapper => Factory.GetInstance(); protected IHttpContextAccessor HttpContextAccessor => Factory.GetInstance(); protected IRuntimeState RuntimeState => ComponentTests.MockRuntimeState(RuntimeLevel.Run); + private ILoggerFactory _loggerFactory; #endregion @@ -172,6 +174,7 @@ namespace Umbraco.Tests.Testing // FIXME: align to runtimes & components - don't redo everything here !!!! Yes this is getting painful var loggerFactory = GetLoggerFactory(Options.Logger); + _loggerFactory = loggerFactory; var profiler = new LogProfiler(loggerFactory.CreateLogger()); var msLogger = loggerFactory.CreateLogger("msLogger"); var proflogger = new ProfilingLogger(loggerFactory.CreateLogger("ProfilingLogger"), profiler); @@ -198,15 +201,17 @@ namespace Umbraco.Tests.Testing //TestHelper.GetConfigs().RegisterWith(register); - Composition.Register(new NullLoggerFactory()); - Composition.Register(typeof(Microsoft.Extensions.Logging.ILogger<>), typeof(Logger<>)); + Composition.RegisterUnique(typeof(ILoggerFactory), loggerFactory); + Composition.Register(typeof(ILogger<>), typeof(Logger<>)); + // TODO Remove this at some point + Composition.Register(typeof(Microsoft.Extensions.Logging.ILogger), msLogger); Composition.RegisterUnique(IOHelper); Composition.RegisterUnique(UriUtility); Composition.RegisterUnique(UmbracoVersion); Composition.RegisterUnique(TypeFinder); Composition.RegisterUnique(LocalizedTextService); Composition.RegisterUnique(typeLoader); - Composition.RegisterUnique(profiler); + Composition.RegisterUnique(profiler); Composition.RegisterUnique(proflogger); Composition.RegisterUnique(appCaches); Composition.RegisterUnique(HostingEnvironment); @@ -453,7 +458,7 @@ namespace Umbraco.Tests.Testing var scheme = Mock.Of(); - var mediaFileSystem = new MediaFileSystem(Mock.Of(), scheme, LoggerFactory.CreateLogger(), TestHelper.ShortStringHelper); + var mediaFileSystem = new MediaFileSystem(Mock.Of(), scheme, _loggerFactory.CreateLogger(), TestHelper.ShortStringHelper); Composition.RegisterUnique(factory => mediaFileSystem); // no factory (noop) @@ -468,7 +473,7 @@ namespace Umbraco.Tests.Testing var globalSettings = new GlobalSettingsBuilder().Build(); var connectionStrings = new ConnectionStringsBuilder().Build(); - Composition.RegisterUnique(f => new UmbracoDatabaseFactory(LoggerFactory.CreateLogger(), + Composition.RegisterUnique(f => new UmbracoDatabaseFactory(_loggerFactory.CreateLogger(), LoggerFactory, globalSettings, connectionStrings, @@ -480,7 +485,7 @@ namespace Umbraco.Tests.Testing Composition.WithCollectionBuilder(); // empty Composition.RegisterUnique(factory - => TestObjects.GetScopeProvider(factory.TryGetInstance(), factory.TryGetInstance(), factory.TryGetInstance(), factory.TryGetInstance())); + => TestObjects.GetScopeProvider(_loggerFactory, factory.TryGetInstance(), factory.TryGetInstance(), factory.TryGetInstance())); Composition.RegisterUnique(factory => (IScopeAccessor) factory.GetInstance()); Composition.ComposeServices();