Serilog: различия между версиями
Перейти к навигации
Перейти к поиску
Dzmuh (обсуждение | вклад) Нет описания правки |
Dzmuh (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
{{Заготовка}} | {{Заготовка}} | ||
'''Serilog''' — | '''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-конвейеры) и других форматах. | |||
== Ссылки == | == Ссылки == | ||
=== Статьи === | === Статьи === | ||
* {{cite web | |||
|url = https://habr.com/ru/post/550582/ | |||
|title = Страсти по Serilog + .NET Core: Глобальный логгер | |||
|lang = ru | |||
|date = 2021-04-04 | |||
|access-date = 2022-11-22 | |||
|website = [[Хабрахабр]] | |||
|archive-url = https://web.archive.org/web/20220514090436/https://habr.com/ru/post/550582/ | |||
|archive-date = 2022-05-14 | |||
}} | |||
* {{cite web | * {{cite web | ||
|url = https://habr.com/ru/post/266299/ | |url = https://habr.com/ru/post/266299/ | ||
Версия от 23:18, 21 ноября 2022
Это заготовка статьи. |
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-конвейеры) и других форматах.
Ссылки
Статьи
- Страсти по Serilog + .NET Core: Глобальный логгер. Хабрахабр (4 апреля 2021). Дата обращения: 22 ноября 2022. Архивировано 14 мая 2022 года.
- Структурное логирование на примере Serilog и Seq. Хабрахабр (6 сентября 2015). Дата обращения: 21 ноября 2022. Архивировано 21 ноября 2022 года.