ngx-logger

Бесплатно
Открытый исходный код

Сайт: github.com/dbfannin/ngx-logger

ngx-logger — лёгкая библиотека логирования для приложений на Angular, предназначенная для форматирования сообщений в консоли, управления уровнями логов и отправки журналов на удалённый сервер через HTTP. Библиотека реализует удобный API для вывода логов различных уровней (от отладочных до критических), позволяет централизованно настраивать поведение логирования и интегрируется с системой зависимостей Angular через сервисы и провайдеры. Основная цель проекта — предоставить простой и расширяемый механизм для сбора и обработки логов в клиентских приложениях на базе Angular без значительного усложнения архитектуры.

Исторически такие пакеты возникли как ответ на потребность в унифицированном логировании в SPA-приложениях, где стандартной возможности для централизованной отправки логов и гибкой фильтрации недостаточно. Если официальная документация или детальная история развития конкретной реализации недоступны, функциональность можно охарактеризовать по общим практикам: конфигурируемые уровни логов, форматирование сообщений (включая таймстемпы и контекст), возможность включения/отключения логирования для разных окружений и механизмы доставки записей на сервер для последующего анализа и хранения.

  • Уровни логов: поддержка типичных уровней (trace, debug, info, warn, error, fatal) с возможностью глобальной и локальной фильтрации.
  • Форматирование сообщений: настройка формата выходных строк, включение временных меток, метаданных и контекстной информации (например, идентификаторов сессий или компонентов).
  • Консольный вывод: аккуратное отображение в консоли браузера с учетом уровня и форматирования; опциональное использование цветовой маркировки в средах, где это поддерживается.
  • Отправка на сервер: асинхронная отправка логов через HTTP(S) POST-запросы, пакетирование сообщений и управление повторными попытками доставки.
  • Интеграция с Angular: реализация в виде инжектируемого сервиса, поддержка настройки через провайдеры и совместимость с жизненным циклом приложений Angular.
  • Расширяемость: возможность добавления пользовательских транспортеров/адептеров для отправки в сторонние системы аналитики или хранилища логов.
  • Окружения и конфигурация: простая активация или подавление логов для production/development, конфигурационные опции для размера пакетов и частоты отправки.
  • Обработка ошибок: сбор стектрейсов и сопутствующей информации при логировании исключений, с целью облегчения диагностики на серверной стороне.
  • Поля контекста: поддержка добавления структурированных полей в запись лога для последующего фильтрования и поиска.
  • Минимальные зависимости: ориентированность на лёгкость и совместимость с разными версиями Angular без добавления тяжёлых библиотек.
Подробнее