Небольшая консольная утилита на Go для подсветки, фильтрации и преобразования логов в формате logfmt, переданных через stdin.
pamburus/hl
Консольная программа для просмотра логов: преобразует JSON и logfmt в удобный для чтения формат, поддерживает фильтрацию, сортировку и слежение за обновлениями.
- Звёзды
- 3,311
- Форки
- 77
- Открытые issues
- 12
- Последний коммит
- 13 часов назад
Что это?
hl — консольная утилита для чтения структурированных логов. Она разбирает записи в форматах JSON и logfmt и выводит их в удобном для чтения виде: с цветами, настраиваемыми форматами времени и часовыми поясами, а также с возможностью скрывать отдельные поля. Утилита работает с обычными файлами, несколькими файлами одновременно и сжатыми данными, включая gzip, bzip2, xz и zstd.
Помимо форматирования, hl умеет фильтровать записи по уровню логирования, временному диапазону и значениям полей, а также поддерживает язык запросов с логическими операторами, регулярными выражениями и подстановочными символами. Режим сортировки строит индекс, чтобы упорядочивать по времени большие наборы локальных файлов, а режим слежения объединяет потоки данных из нескольких источников в порядке временных меток.
Если вывод направлен в терминал, hl использует системный пейджер (по умолчанию less). Настроить утилиту можно с помощью конфигурационного файла, переменных окружения и тем оформления.
Ключевые возможности
- 01Преобразует логи в форматах JSON и logfmt в цветной, удобный для чтения вид.
- 02Фильтрует записи по уровню логирования, временному диапазону и значениям полей с помощью языка запросов.
- 03Читает сжатые файлы (gzip, bzip2, xz, zstd) напрямую.
- 04Сортирует записи по времени в нескольких файлах, используя индекс.
- 05Следит за несколькими источниками и объединяет их по временным меткам.
- 06Поддерживает настраиваемые темы оформления, форматы времени и часовые пояса.
Сценарии использования
- Просмотр логов приложения в формате JSON в терминале во время отладки.
- Объединение логов нескольких подов Kubernetes в единую временную шкалу.
- Поиск нужных ошибок или временных интервалов в ротированных сжатых архивах логов.
Быстрый старт
- 1
Установить с помощью Homebrew на macOS
brew install hl - 2
Просмотреть файл журнала (по умолчанию используется пейджер less)
hl example.log
Что важно знать
- Зависит от внешнего пейджера, например less; встроенного пейджера нет, а версия less для Windows, упомянутая в README, известна тем, что некорректно отображает цвета ANSI.
Темы
Частые вопросы
- Что такое hl?
- Консольная программа для просмотра логов: преобразует JSON и logfmt в удобный для чтения формат, поддерживает фильтрацию, сортировку и слежение за обновлениями. hl — консольная утилита для чтения структурированных логов. Она разбирает записи в форматах JSON и logfmt и выводит их в удобном для чтения виде: с цветами, настраиваемыми форматами времени и часовыми поясами, а также с возможностью скрывать отдельные поля. Утилита работает с обычными файлами, несколькими файлами одновременно и сжатыми данными, включая gzip, bzip2, xz и zstd.
- hl можно использовать бесплатно? Какая у него лицензия?
- hl распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- hl всё ещё поддерживается?
- Активно поддерживается. Последний коммит в hl — 19 окт. 2026 г..
- Для чего можно использовать hl?
- Просмотр логов приложения в формате JSON в терминале во время отладки. Объединение логов нескольких подов Kubernetes в единую временную шкалу. Поиск нужных ошибок или временных интервалов в ротированных сжатых архивах логов.
- Как установить hl?
- Установить с помощью Homebrew на macOS: brew install hl Просмотреть файл журнала (по умолчанию используется пейджер less): hl example.log
- Где скачать hl?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pamburus/hl
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
CLI-прокси, который фильтрует и сжимает вывод команд оболочки до того, как он попадёт в контекст AI-агента для программирования, сокращая расход токенов.
Минималистичный настраиваемый кроссшелльный промпт на Rust, показывающий важную информацию о проекте и окружении.
Умная замена cd: запоминает часто используемые каталоги и позволяет быстро переходить к ним в популярных оболочках.
Терминальная утилита, которая воспроизводит коммиты Git в виде анимированной печати с подсветкой синтаксиса и переходами между состояниями дерева файлов.
Терминальный интерфейс, который отображает граф коммитов Git в виде изображений — как git log --graph --all, — чтобы просматривать историю репозитория.