Repolode
TheEdgeOfRage

TheEdgeOfRage/logfmt

Небольшая консольная утилита на Go для подсветки, фильтрации и преобразования логов в формате logfmt, переданных через stdin.

Звёзды
57
Форки
9
Открытые issues
2
Последний коммит
6 дней назад

Что это?

CLI logfmt читает строки логов в формате logfmt из стандартного ввода и выводит их более удобную для чтения версию в стандартный вывод. Утилита подсвечивает синтаксис, выносит временную метку и уровень логирования в фиксированные позиции без ключей и позволяет выбрать, какие поля показывать или скрывать.

Фильтровать записи можно по уровню логирования — например, выводить только записи уровня WARN и выше — и по точным совпадениям key=value, чтобы сосредоточиться на одном вызове API или запросе. В raw-режиме выводятся только значения полей, как в Unix-команде cut. Также есть опция, которая оставляет строки без выбранных полей.

Утилита следует модели Unix-конвейеров, поэтому её обычно используют с командами вроде kubectl logs или с локально запущенным Go-сервисом. Если вывод перенаправлен в конвейер или файл, цвета автоматически отключаются; их можно принудительно включить или отключить флагами.

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

  • 01Цветная подсветка строк logfmt с временной меткой и уровнем логирования в фиксированных позициях
  • 02Фильтрация по минимальному уровню логирования, например WARN или ERROR
  • 03Фильтрация по точным парам key=value
  • 04Выбор или исключение полей вывода с помощью списков через запятую
  • 05Raw-режим, который выводит только значения полей

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

  • Чтение логов локально разрабатываемого Go-сервиса, переданных в терминал через конвейер
  • Просмотр логов подов Kubernetes с помощью kubectl logs и фильтрация по конкретному запросу
  • Сокращение объёма отладочных сообщений за счёт фильтрации до предупреждений и ошибок

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

  1. 1

    Установите CLI logfmt с помощью Go

    go install github.com/TheEdgeOfRage/logfmt@latest
  2. 2

    Передайте логи своего сервиса в logfmt через конвейер

    go run yourservice.go | logfmt

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

  • Для установки с помощью go install требуется инструментарий Go.
  • Фильтрация поддерживает только точное совпадение key=value; регулярные выражения и числовые фильтры пока не поддерживаются.

Темы

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

Что такое logfmt?
Небольшая консольная утилита на Go для подсветки, фильтрации и преобразования логов в формате logfmt, переданных через stdin. CLI logfmt читает строки логов в формате logfmt из стандартного ввода и выводит их более удобную для чтения версию в стандартный вывод. Утилита подсвечивает синтаксис, выносит временную метку и уровень логирования в фиксированные позиции без ключей и позволяет выбрать, какие поля показывать или скрывать.
logfmt можно использовать бесплатно? Какая у него лицензия?
logfmt распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
logfmt всё ещё поддерживается?
Активно поддерживается. Последний коммит в logfmt — 14 окт. 2026 г..
Для чего можно использовать logfmt?
Чтение логов локально разрабатываемого Go-сервиса, переданных в терминал через конвейер Просмотр логов подов Kubernetes с помощью kubectl logs и фильтрация по конкретному запросу Сокращение объёма отладочных сообщений за счёт фильтрации до предупреждений и ошибок
Как установить logfmt?
Установите CLI logfmt с помощью Go: go install github.com/TheEdgeOfRage/logfmt@latest Передайте логи своего сервиса в logfmt через конвейер: go run yourservice.go | logfmt
Где скачать logfmt?
Исходный код и инструкции по установке — на GitHub: https://github.com/TheEdgeOfRage/logfmt

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

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