Files
JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs
Pavel Krymets 9e26913278 More
2018-11-06 13:59:52 -08:00

28 lines
1.0 KiB
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
namespace Microsoft.AspNetCore.SpaServices.Util
{
internal static class LoggerFinder
{
public static ILogger GetOrCreateLogger(
IApplicationBuilder appBuilder,
string logCategoryName)
{
// If the DI system gives us a logger, use it. Otherwise, set up a default one.
var loggerFactory = appBuilder.ApplicationServices.GetService<ILoggerFactory>();
var logger = loggerFactory != null
? loggerFactory.CreateLogger(logCategoryName)
#pragma warning disable CS0618 // Type or member is obsolete
: new ConsoleLogger(logCategoryName, null, false);
#pragma warning restore CS0618
return logger;
}
}
}