Перейти к содержанию

Контроль места записи журналов с помощью поставщиков журналирования

Поставщики журналирования (LoggingProviders) контролируют место записи сообщений. Они принимают сообщения, создаваемые с помощью интерфейса ILogger и записывают их в место вывода, которое зависит от поставщика.
Microsoft написала несколько собственных поставщиков журналирования для ASP.NET Core, доступных прямо из коробки. Среди них:

  • поставщик консоли (Console) — записывает сообщения в консоль;
  • поставщик отладки (Debug) — записывает сообщения в окно отладки при отладке приложения в, например, Visual Studio;
  • поставщик журнала событий (EventLog) — записывает сообщения в журнал событий Windows;
  • поставщик EventSource — пишет сообщения с помощью Event Tracing for Windows1 (ETW) или LTTng2 в Linux

Также существует множество сторонних реализаций поставщиков, например для Azure App Service. elmah.io или Elasticsearch. Помимо этого, существуют интеграции с существующими фреймворками, такими как NLog и Serilog.

Поставщиков журналирования настраивают в файле Program.cs с помощью класса HostBuilder. Метод CreateDefaultBuilder настраивает консоль и поставщиков отладки автоматически, однако добавить свои поставщики необходимо самостоятельно.
Есть два варианта настройки журналирования:

  • использовать собственный экземпляр HostBuilder и настроить его явно;
  • добавить дополнительный вызов метода ConfigureLogging после метода CreateDefaultBuilder.

Добавление нового поставщика журналирования в приложение

Замена ILoggerFactory по умолчанию на Serilog


Последнее обновление : 7 мая 2023 г.
Дата создания : 20 октября 2022 г.

Комментарии

Комментарии