44 lines
1.3 KiB
C#
44 lines
1.3 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 System;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
namespace Microsoft.AspNetCore.Hosting.Fakes
|
|
{
|
|
public class CustomLoggerFactory : ILoggerFactory
|
|
{
|
|
public void CustomConfigureMethod() { }
|
|
|
|
public void AddProvider(ILoggerProvider provider) { }
|
|
|
|
public ILogger CreateLogger(string categoryName) => NullLogger.Instance;
|
|
|
|
public void Dispose() { }
|
|
}
|
|
|
|
public static class CustomLoggerFactoryExtensions
|
|
{
|
|
public static IWebHostBuilder ConfigureCustomLogger(this IWebHostBuilder builder, Action<CustomLoggerFactory> configureLogger)
|
|
{
|
|
builder.UseLoggerFactory(_ => new CustomLoggerFactory());
|
|
builder.ConfigureLogging(configureLogger);
|
|
return builder;
|
|
}
|
|
}
|
|
|
|
public class SubLoggerFactory : CustomLoggerFactory { }
|
|
|
|
public class NonSubLoggerFactory : ILoggerFactory
|
|
{
|
|
public void CustomConfigureMethod() { }
|
|
|
|
public void AddProvider(ILoggerProvider provider) { }
|
|
|
|
public ILogger CreateLogger(string categoryName) => NullLogger.Instance;
|
|
|
|
public void Dispose() { }
|
|
}
|
|
}
|