Repolode
sirupsen

sirupsen/logrus

Структурированный логгер для Go, совместимый по API с log и поддерживающий плагины форматирования и хуки; находится в режиме поддержки.

Звёзды
25,764
Форки
2,297
Открытые issues
59
Последний коммит
22 дня назад

Что это?

Logrus — структурированный логгер для Go, совместимый по API со стандартным пакетом log, поэтому существующий импорт log можно заменить с минимальными изменениями. Он записывает сообщения с полями «ключ-значение» и уровнем логирования, а выводить их может в виде цветного текста для терминала, текста в стиле logfmt или JSON для систем агрегации логов, таких как Logstash и Splunk.

Логгер поддерживает семь уровней — от Trace до Panic, отдельные назначения вывода для каждого логгера через любой io.Writer и повторно используемые контексты полей, создаваемые с помощью WithFields. Хуки позволяют передавать записи в другие системы, например в трекеры ошибок или syslog, а пользовательские форматтеры можно добавить, реализовав метод Format. Также есть информация о вызывающем коде, тестовый хук для проверки записанных сообщений и обработчики выхода при фатальных ошибках.

Проект находится в режиме поддержки: сопровождающие сосредоточены на исправлениях безопасности, ошибок и производительности, а новые возможности ограничены улучшением совместимости, например с Go log/slog. В README в качестве альтернатив указаны Zerolog, Zap и Apex — проекты, созданные с учетом более современных практик структурированного логирования в Go.

Ключевые возможности

  • 01Полная совместимость со стандартным API пакета log.
  • 02Структурированные поля «ключ-значение» и семь уровней — от Trace до Panic.
  • 03Цветной вывод для терминала, текст в стиле logfmt и форматирование в JSON.
  • 04Хуки для передачи записей в такие сервисы, как syslog или трекеры ошибок.
  • 05Пользовательские форматтеры через простой интерфейс Format.
  • 06Тестовый хук для проверки записанных сообщений в модульных тестах.

Сценарии использования

  • Добавление структурированных логов в формате JSON в Go-сервис для передачи в Logstash или Splunk.
  • Миграция существующего проекта со стандартного пакета log без переписывания мест вызова.
  • Передача записей уровня error во внешний трекер исключений с помощью хука.
  • Проверка в модульных тестах того, что были записаны определенные сообщения.

Быстрый старт

  1. 1

    Установите модуль Logrus

    go get github.com/sirupsen/logrus
  2. 2

    Импортируйте его в код Go и запишите сообщение с полями

Что важно знать

  • Logrus находится в режиме поддержки, поэтому добавление новых функций не планируется.
  • В README указаны альтернативы, такие как Zerolog, Zap и Apex.

В подборках

Темы

Частые вопросы

Что такое logrus?
Структурированный логгер для Go, совместимый по API с log и поддерживающий плагины форматирования и хуки; находится в режиме поддержки. Logrus — структурированный логгер для Go, совместимый по API со стандартным пакетом log, поэтому существующий импорт log можно заменить с минимальными изменениями. Он записывает сообщения с полями «ключ-значение» и уровнем логирования, а выводить их может в виде цветного текста для терминала, текста в стиле logfmt или JSON для систем агрегации логов, таких как Logstash и Splunk.
logrus можно использовать бесплатно? Какая у него лицензия?
logrus распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
logrus всё ещё поддерживается?
Активно поддерживается. Последний коммит в logrus — 2 окт. 2026 г..
Для чего можно использовать logrus?
Добавление структурированных логов в формате JSON в Go-сервис для передачи в Logstash или Splunk. Миграция существующего проекта со стандартного пакета log без переписывания мест вызова. Передача записей уровня error во внешний трекер исключений с помощью хука. Проверка в модульных тестах того, что были записаны определенные сообщения.
Как установить logrus?
Установите модуль Logrus: go get github.com/sirupsen/logrus Импортируйте его в код Go и запишите сообщение с полями
Где скачать logrus?
Исходный код и инструкции по установке — на GitHub: https://github.com/sirupsen/logrus

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты