Microsoft Extensions日志记录的生命周期

时间:2018-03-13 06:52:53

标签: c# asp.net-core asp.net-core-2.0

我目前正在编写一个带有&34; Microsoft.Extensions.Logging"界面的小包装器。

这样做的主要原因是我无法使用FakeItEasy等扩展方法,例如LogWarning'。

这是一个小样本:

public interface ILoggerWrapper<out T>
{
    void LogWarning(string message, params object[] args);
    void LogWarning(Exception exception, string message, params object[] args);
}

public class MicrosoftLoggerWrapper<T> : ILoggerWrapper<T>
{
    private readonly ILogger<T> _logger;

    public MicrosoftLoggerWrapper(ILogger<T> logger)
    {
        _logger = logger;
    }

    public void LogWarning(string message, params object[] args)
    {
        _logger.LogWarning(message, args);
    }
}

现在我想知道这个记录器的生命周期以及&#34; Microsoft.Extensions.Logging&#34;具有。是Singleton还是Scoped?

我应该如何在ServiceCollection中注册我的包装器?现在我这样做:

services.AddSingleton(typeof(ILoggerWrapper<>), typeof(MicrosoftLoggerWrapper<>));

0 个答案:

没有答案