Контроль места записи журналов с помощью поставщиков журналирования¶
Поставщики журналирования (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¶
Дата создания : 20 октября 2022 г.