Files
JavaScriptServices/src/Microsoft.AspNetCore.SpaServices.Extensions/Util/LoggerFinder.cs

26 lines
976 B
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)
: new ConsoleLogger(logCategoryName, null, false);
return logger;
}
}
}