Serilog

Материал из DZWIKI
Перейти к навигации Перейти к поиску

Serilog — библиотека .NET которая поддерживает структурное логирование.

Функционал

Библиотека поддерживает все основные функции логирования, которые есть у log4net, Nlog, и других известных библиотек:

  • Несколько общепринятых типов записи:
    • Verbose — самое низкоуровнивое и детальное логирование (например, пришедшие аргументы в метод);
    • Debug — данные для отладки кода, на один уровень выше Verbose (например, какой метод запускали, и результат выполнения);
    • Warning — предупреждение для бизнес-процесса, не должно содержать Debug данные (например, запустили расчет зарплат);
    • Error — ошибка в приложении, которое не ожидали;
    • Fatal — исключительная ошибка останавливающая бизнес процессы приложения (например, перенаправили пользователя в PayPal и оплата покупателя не равна ожидаемой сумме).
  • Разные типы хранения, называемых в Serilog стоком: текстовый файл, реляционные БД, NoSQL БД, Windows Events, HTTP (Hypertext Transfer Protocol) запросы, и т.д..;
  • Удобная конфигурация как через код, так и через .config файлы в форматах XML и JSON;
  • Эффективность при включении, чрезвычайно низкие накладные расходы при отключении уровня ведения журнала;
  • Лучшая в своем классе поддержка .NET Core, включая поставщика Microsoft.Extensions.Logging;
  • Сложное обогащение журнальных событий контекстной информацией, включая облачные (LogContext) свойства, идентификаторы потоков и процессов, а также идентификаторы корреляции домена, такие как HttpRequestId;
  • Объекты Logger с нулевым общим состоянием с необязательным глобальным статическим классом Log;
  • Формат-агностический конвейер протоколирования, который может генерировать события в открытом тексте, JSON, в объектах LogEvent в памяти (включая Rx-конвейеры) и других форматах.

Ссылки

Статьи