Serilog: Как использовать ведение журнала в «Библиотеке классов» ядра asp.net - PullRequest
1 голос
/ 28 июня 2019

Я использую Serilog для входа на основной сайт asp.net, и в проекте используется «библиотека классов».

  1. Как мы можем реализовать ведение журналов в библиотеке базовых классов asp.net?
  2. Есть ли способ независимого ведения журналов в «библиотеке классов»?

1 Ответ

1 голос
/ 28 июня 2019

Просто добавьте пакет NuGet Microsoft.Extensions.Logging в свою библиотеку классов, а затем добавьте ILogger<T> в свои классы:

public class MyClass
{
    private readonly ILogger _logger;

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

    public void DoSomething()
    {
        _logger.LogInformation("I'm doing something here.");
    }
}

ILogger - это фасад ,API для ведения журнала, который фактически не выполняет никаких действий.Фактическое ведение журнала происходит через провайдеров, которых вы подключаете к фасаду, когда у вас есть настоящее приложение, использующее его.Это то место, где может появиться что-то вроде Serilog. В вашем реальном приложении вы сконфигурируете ведение журнала на использование Serilog, а затем каждый раз, когда что-либо вызывает метод на ILogger, который передается по прокси вашему фактическому реальному провайдеру ведения журналов (Serilog), а затем Serilog делает фактическую регистрацию.

...