Use MS Ilogger in LocalizedTextService

This commit is contained in:
Mole
2020-09-21 08:19:26 +02:00
parent 7ad8cd2bf8
commit 30d4233565
9 changed files with 54 additions and 49 deletions

View File

@@ -2,8 +2,8 @@
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using Microsoft.Extensions.Logging;
using Umbraco.Core.Configuration;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Packaging;
namespace Umbraco.Core.Packaging
@@ -13,10 +13,10 @@ namespace Umbraco.Core.Packaging
/// </summary>
public class PackageDefinitionXmlParser
{
private readonly ILogger _logger;
private readonly ILogger<PackageDefinitionXmlParser> _logger;
private readonly IUmbracoVersion _umbracoVersion;
public PackageDefinitionXmlParser(ILogger logger, IUmbracoVersion umbracoVersion)
public PackageDefinitionXmlParser(ILogger<PackageDefinitionXmlParser> logger, IUmbracoVersion umbracoVersion)
{
_logger = logger;
_umbracoVersion = umbracoVersion;

View File

@@ -6,10 +6,10 @@ using System.IO.Compression;
using System.Linq;
using System.Xml.Linq;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Logging;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Hosting;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Packaging;
using Umbraco.Core.Services;
@@ -29,7 +29,8 @@ namespace Umbraco.Core.Packaging
private readonly IMacroService _macroService;
private readonly ILocalizationService _languageService;
private readonly IEntityXmlSerializer _serializer;
private readonly ILogger _logger;
private readonly ILoggerFactory _loggerFactory;
private readonly ILogger<PackagesRepository> _logger;
private readonly IHostingEnvironment _hostingEnvironment;
private readonly string _packageRepositoryFileName;
private readonly string _mediaFolderPath;
@@ -60,7 +61,8 @@ namespace Umbraco.Core.Packaging
IDataTypeService dataTypeService, IFileService fileService, IMacroService macroService,
ILocalizationService languageService,
IHostingEnvironment hostingEnvironment,
IEntityXmlSerializer serializer, ILogger logger,
IEntityXmlSerializer serializer,
ILoggerFactory loggerFactory,
IUmbracoVersion umbracoVersion,
IOptions<GlobalSettings> globalSettings,
string packageRepositoryFileName,
@@ -74,7 +76,8 @@ namespace Umbraco.Core.Packaging
_macroService = macroService;
_languageService = languageService;
_serializer = serializer;
_logger = logger;
_loggerFactory = loggerFactory;
_logger = _loggerFactory.CreateLogger<PackagesRepository>();
_hostingEnvironment = hostingEnvironment;
_packageRepositoryFileName = packageRepositoryFileName;
@@ -82,7 +85,7 @@ namespace Umbraco.Core.Packaging
_packagesFolderPath = packagesFolderPath ?? Constants.SystemDirectories.Packages;
_mediaFolderPath = mediaFolderPath ?? globalSettings.Value.UmbracoMediaPath + "/created-packages";
_parser = new PackageDefinitionXmlParser(logger, umbracoVersion);
_parser = new PackageDefinitionXmlParser(_loggerFactory.CreateLogger<PackageDefinitionXmlParser>(), umbracoVersion);
_umbracoVersion = umbracoVersion;
}

View File

@@ -2,13 +2,13 @@
using System.IO;
using System.Linq;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Logging;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Events;
using Umbraco.Core.Hosting;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Packaging;
using Umbraco.Core.Routing;
using Umbraco.Core.Services;
@@ -61,7 +61,7 @@ namespace Umbraco.Core.Composing.CompositionExtensions
composition.Register<LocalizedTextServiceFileSources>(SourcesFactory);
composition.RegisterUnique<ILocalizedTextService>(factory => new LocalizedTextService(
factory.GetInstance<Lazy<LocalizedTextServiceFileSources>>(),
factory.GetInstance<ILogger>()));
factory.GetInstance<ILogger<LocalizedTextService>>()));
composition.RegisterUnique<IEntityXmlSerializer, EntityXmlSerializer>();
@@ -94,7 +94,7 @@ namespace Umbraco.Core.Composing.CompositionExtensions
factory.GetInstance<ILocalizationService>(),
factory.GetInstance<IHostingEnvironment>(),
factory.GetInstance<IEntityXmlSerializer>(),
factory.GetInstance<ILogger>(),
factory.GetInstance<ILoggerFactory>(),
factory.GetInstance<IUmbracoVersion>(),
factory.GetInstance<IOptions<GlobalSettings>>(),
packageRepoFileName);
@@ -122,7 +122,7 @@ namespace Umbraco.Core.Composing.CompositionExtensions
.Select(x => new LocalizedTextServiceSupplementaryFileSource(x, true));
return new LocalizedTextServiceFileSources(
container.GetInstance<ILogger>(),
container.GetInstance<ILogger<LocalizedTextServiceFileSources>>(),
container.GetInstance<AppCaches>(),
mainLangFolder,
pluginLangFolders.Concat(userLangFolders));

View File

@@ -4,7 +4,7 @@ using System.Globalization;
using System.Linq;
using System.Xml.Linq;
using System.Xml.XPath;
using Umbraco.Core.Logging;
using Microsoft.Extensions.Logging;
namespace Umbraco.Core.Services.Implement
{
@@ -12,7 +12,7 @@ namespace Umbraco.Core.Services.Implement
public class LocalizedTextService : ILocalizedTextService
{
private readonly ILogger _logger;
private readonly ILogger<LocalizedTextService> _logger;
private readonly Lazy<LocalizedTextServiceFileSources> _fileSources;
private readonly IDictionary<CultureInfo, IDictionary<string, IDictionary<string, string>>> _dictionarySource;
private readonly IDictionary<CultureInfo, Lazy<XDocument>> _xmlSource;
@@ -22,7 +22,7 @@ namespace Umbraco.Core.Services.Implement
/// </summary>
/// <param name="fileSources"></param>
/// <param name="logger"></param>
public LocalizedTextService(Lazy<LocalizedTextServiceFileSources> fileSources, ILogger logger)
public LocalizedTextService(Lazy<LocalizedTextServiceFileSources> fileSources, ILogger<LocalizedTextService> logger)
{
if (logger == null) throw new ArgumentNullException("logger");
_logger = logger;
@@ -35,7 +35,7 @@ namespace Umbraco.Core.Services.Implement
/// </summary>
/// <param name="source"></param>
/// <param name="logger"></param>
public LocalizedTextService(IDictionary<CultureInfo, Lazy<XDocument>> source, ILogger logger)
public LocalizedTextService(IDictionary<CultureInfo, Lazy<XDocument>> source, ILogger<LocalizedTextService> logger)
{
if (source == null) throw new ArgumentNullException("source");
if (logger == null) throw new ArgumentNullException("logger");
@@ -48,7 +48,7 @@ namespace Umbraco.Core.Services.Implement
/// </summary>
/// <param name="source"></param>
/// <param name="logger"></param>
public LocalizedTextService(IDictionary<CultureInfo, IDictionary<string, IDictionary<string, string>>> source, ILogger logger)
public LocalizedTextService(IDictionary<CultureInfo, IDictionary<string, IDictionary<string, string>>> source, ILogger<LocalizedTextService> logger)
{
_dictionarySource = source ?? throw new ArgumentNullException(nameof(source));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));

View File

@@ -8,9 +8,7 @@ using System.Xml.Linq;
using Umbraco.Composing;
using Umbraco.Core.Cache;
using Umbraco.Core.Composing;
using Umbraco.Core.Logging;
using Microsoft.Extensions.Logging;
using ILogger = Umbraco.Core.Logging.ILogger;
namespace Umbraco.Core.Services.Implement
{
@@ -19,7 +17,7 @@ namespace Umbraco.Core.Services.Implement
/// </summary>
public class LocalizedTextServiceFileSources
{
private readonly ILogger _logger;
private readonly ILogger<LocalizedTextServiceFileSources> _logger;
private readonly IAppPolicyCache _cache;
private readonly IEnumerable<LocalizedTextServiceSupplementaryFileSource> _supplementFileSources;
private readonly DirectoryInfo _fileSourceFolder;
@@ -39,7 +37,7 @@ namespace Umbraco.Core.Services.Implement
/// <param name="fileSourceFolder"></param>
/// <param name="supplementFileSources"></param>
public LocalizedTextServiceFileSources(
ILogger logger,
ILogger<LocalizedTextServiceFileSources> logger,
AppCaches appCaches,
DirectoryInfo fileSourceFolder,
IEnumerable<LocalizedTextServiceSupplementaryFileSource> supplementFileSources)
@@ -53,7 +51,7 @@ namespace Umbraco.Core.Services.Implement
if (fileSourceFolder.Exists == false)
{
Current.Logger.LogWarning("The folder does not exist: {FileSourceFolder}, therefore no sources will be discovered", fileSourceFolder.FullName);
_logger.LogWarning("The folder does not exist: {FileSourceFolder}, therefore no sources will be discovered", fileSourceFolder.FullName);
}
else
{
@@ -101,7 +99,7 @@ namespace Umbraco.Core.Services.Implement
}
catch (CultureNotFoundException)
{
Current.Logger.LogWarning("The culture {CultureValue} found in the file {CultureFile} is not a valid culture", cultureVal, fileInfo.FullName);
_logger.LogWarning("The culture {CultureValue} found in the file {CultureFile} is not a valid culture", cultureVal, fileInfo.FullName);
//If the culture in the file is invalid, we'll just hope the file name is a valid culture below, otherwise
// an exception will be thrown.
}
@@ -142,7 +140,7 @@ namespace Umbraco.Core.Services.Implement
/// <summary>
/// Constructor
/// </summary>
public LocalizedTextServiceFileSources(ILogger logger, AppCaches appCaches, DirectoryInfo fileSourceFolder)
public LocalizedTextServiceFileSources(ILogger<LocalizedTextServiceFileSources> logger, AppCaches appCaches, DirectoryInfo fileSourceFolder)
: this(logger, appCaches, fileSourceFolder, Enumerable.Empty<LocalizedTextServiceSupplementaryFileSource>())
{ }

View File

@@ -63,6 +63,7 @@ namespace Umbraco.Tests.Integration.Testing
{
var globalSettings = factory.GetInstance<IOptions<GlobalSettings>>();
var logger = factory.GetInstance<ILogger>();
var loggerFactory = factory.GetInstance<ILoggerFactory>();
var appCaches = factory.GetInstance<AppCaches>();
var localizedTextService = new LocalizedTextService(
@@ -78,12 +79,12 @@ namespace Umbraco.Tests.Integration.Testing
var mainLangFolder = new DirectoryInfo(Path.Combine(netcoreUI.FullName, globalSettings.Value.UmbracoPath.TrimStart("~/"), "config", "lang"));
return new LocalizedTextServiceFileSources(
logger,
loggerFactory.CreateLogger<LocalizedTextServiceFileSources>(),
appCaches,
mainLangFolder);
}),
logger);
loggerFactory.CreateLogger<LocalizedTextService>());
return localizedTextService;
}

View File

@@ -39,7 +39,7 @@ namespace Umbraco.Tests.Packaging
ServiceContext.ContentService, ServiceContext.ContentTypeService, ServiceContext.DataTypeService,
ServiceContext.FileService, ServiceContext.MacroService, ServiceContext.LocalizationService,
HostingEnvironment,
Factory.GetInstance<IEntityXmlSerializer>(), Logger,
Factory.GetInstance<IEntityXmlSerializer>(), LoggerFactory_,
UmbracoVersion,
Microsoft.Extensions.Options.Options.Create(new GlobalSettingsBuilder().Build()),
"createdPackages.config",

View File

@@ -5,17 +5,20 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using NUnit.Framework;
using Umbraco.Core.Logging;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
using ILogger = Umbraco.Core.Logging.ILogger;
namespace Umbraco.Tests.Services
{
[TestFixture]
public class LocalizedTextServiceTests
{
private static ILoggerFactory _loggerFactory = NullLoggerFactory.Instance;
[Test]
public void Using_Dictionary_Gets_All_Stored_Values()
{
@@ -42,7 +45,7 @@ namespace Umbraco.Tests.Services
},
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.GetAllStoredValues(culture);
@@ -74,7 +77,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "blah1"), "blahValue1"),
new XElement("key", new XAttribute("alias", "blah2"), "blahValue2")))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.GetAllStoredValues(culture);
@@ -105,7 +108,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey1"), "testValue1"),
new XElement("key", new XAttribute("alias", "testKey1"), "testValue1")))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.GetAllStoredValues(culture);
@@ -131,7 +134,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testArea/testKey", culture);
@@ -156,7 +159,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testKey", culture);
@@ -181,7 +184,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testArea/doNotFind", culture);
@@ -207,7 +210,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("doNotFind", culture);
@@ -232,7 +235,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testKey", culture,
new Dictionary<string, string> { { "0", "world" }, { "1", "great" }, { "2", "planet" } });
@@ -253,7 +256,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"testValue"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testArea/testKey", culture);
@@ -273,7 +276,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"testValue"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testKey", culture);
@@ -293,7 +296,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"testValue"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testArea/doNotFind", culture);
@@ -314,7 +317,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"testValue"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("doNotFind", culture);
@@ -334,7 +337,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"Hello %0%, you are such a %1% %2%"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
var result = txtService.Localize("testKey", culture,
new Dictionary<string, string> { { "0", "world" }, { "1", "great" }, { "2", "planet" } });
@@ -360,7 +363,7 @@ namespace Umbraco.Tests.Services
}
}
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
Assert.AreEqual("[testKey]", txtService.Localize("testArea/testKey", CultureInfo.GetCultureInfo("en-AU")));
}
@@ -378,7 +381,7 @@ namespace Umbraco.Tests.Services
new XElement("key", new XAttribute("alias", "testKey"),
"testValue"))))
}
}, Mock.Of<ILogger>());
}, _loggerFactory.CreateLogger<LocalizedTextService>());
Assert.AreEqual("[testKey]", txtService.Localize("testArea/testKey", CultureInfo.GetCultureInfo("en-AU")));
}

View File

@@ -175,22 +175,22 @@ namespace Umbraco.Tests.Testing
// FIXME: align to runtimes & components - don't redo everything here !!!! Yes this is getting painful
var (logger, profiler) = GetLoggers(Options.Logger);
var loggerFactoy = GetLoggerFactory(Options.Logger);
var msLogger = loggerFactoy.CreateLogger("msLogger");
var proflogger = new ProfilingLogger(loggerFactoy.CreateLogger("ProfilingLogger"), profiler);
var loggerFactory = GetLoggerFactory(Options.Logger);
var msLogger = loggerFactory.CreateLogger("msLogger");
var proflogger = new ProfilingLogger(loggerFactory.CreateLogger("ProfilingLogger"), profiler);
IOHelper = TestHelper.IOHelper;
TypeFinder = new TypeFinder(loggerFactoy.CreateLogger<TypeFinder>(), new DefaultUmbracoAssemblyProvider(GetType().Assembly), new VaryingRuntimeHash());
TypeFinder = new TypeFinder(loggerFactory.CreateLogger<TypeFinder>(), new DefaultUmbracoAssemblyProvider(GetType().Assembly), new VaryingRuntimeHash());
var appCaches = GetAppCaches();
var globalSettings = new GlobalSettingsBuilder().Build();
var settings = new WebRoutingSettings();
IBackOfficeInfo backOfficeInfo = new AspNetBackOfficeInfo(globalSettings, IOHelper, loggerFactoy.CreateLogger<AspNetBackOfficeInfo>(), Microsoft.Extensions.Options.Options.Create(settings));
IBackOfficeInfo backOfficeInfo = new AspNetBackOfficeInfo(globalSettings, IOHelper, loggerFactory.CreateLogger<AspNetBackOfficeInfo>(), Microsoft.Extensions.Options.Options.Create(settings));
IIpResolver ipResolver = new AspNetIpResolver();
UmbracoVersion = new UmbracoVersion();
LocalizedTextService = new LocalizedTextService(new Dictionary<CultureInfo, Lazy<XDocument>>(), logger);
LocalizedTextService = new LocalizedTextService(new Dictionary<CultureInfo, Lazy<XDocument>>(), loggerFactory.CreateLogger<LocalizedTextService>());
var typeLoader = GetTypeLoader(IOHelper, TypeFinder, appCaches.RuntimeCache, HostingEnvironment, msLogger, proflogger, Options.TypeLoader);
var register = TestHelper.GetRegister();