Эта статья завершит обзор того, как можно лучше организовать код, связанный с логгированием, разделить ответственности и отвязать его от кода бизнес-логики и инфраструктруного кода. В прошлой статье описывалась работа с DiagnosticSource и DiagnosticListener, с помощью которых можно отвязать код логгирования от ряда основных инфраструктурных операций.
User
Использование diagnostic observers для изоляции кода логгирования
В этой статье мы рассмотрим использование DiagnosticListener для изоляции кода, отвечающего за логгирование инфраструктурных операций - таких как работа с базой данных и отправка и получение HTTP запросов.
Класс DiagnosticListener определен в пакете System.Diagnostics, и особенности его использования описаны в разных статьях, включая одну-две на Хабре.
В этой статье будут кратко рассмотрены способы подписки и использования диагностических событий, а также как можно обойти основные ограничения, присущие текущей реализации DiagnosticListener, и сделать использование этого функционала более эффективным.
Логирование в Azure с Application Insights и Serilog
В этой статье я рассмотрю, как в .NET приложении можно эффективно использовать Application Insights и Serilog, а также как можно воспользоваться специфичным функционалом Azure для логгирования. Вместе эти два прекрасных инструмента дают очень богатые и гибкие возможности по логгированию для любого приложения. В статье будут показаны разнообразные варианты настройки этих инструментов и приведены примеры кода для разных сценариев логгирования.
Application Insights - это мощный инструмент для сбора и анализа метрик и логов приложений, как размещенных в облаке, там и исполняемых локально.
Serilog реализует "структурное логгирование", которое сохраняет сообщения и данные в формате, удобном для поиска и анализа, используя так называемые "sinks" для записи логов в различные хранилища. С помощью Serilog можно одновременно сохранять логи в Application Insights, локальные файлы и любые другие хранилища. Эти sinks можно очень тонко настраивать, а также включать и выключать в ходе работы приложения.
Information
- Rating
- Does not participate
- Registered
- Activity