Утилита командной строки для обработки лог-файлов 1С:Предприятие, агрегации данных и экспорта результатов в форматах CSV или JSON.
- 📊 Группировка данных по заданным полям
- 📈 Агрегация метрик (count, sum, max, min, avg)
- 🔍 Фильтрация записей по условиям
- 📤 Экспорт в CSV или JSON
go buildtview_csv --group <поля> --aggregate <поле> --format <формат> [--filter <условие>] <файлы.log>| Параметр | Короткий | По умолчанию | Описание |
|---|---|---|---|
--group |
-g |
event |
Поля для группировки (через запятую) |
--aggregate |
-a |
duration |
Поле для агрегации |
--format |
-o |
csv |
Формат вывода: csv или json |
--filter |
-f |
— | Фильтр по ключу и значению (можно указывать несколько) |
--profile |
-p |
false |
Включить pprof профилирование |
files |
— | — | Файлы .log (обязательно, поддерживает glob-маски) |
# Группировка по event, агрегация duration
tview_csv *.log# Фильтр по одному полю
tview_csv -f event=EXCP *.log
# Несколько фильтров (логика AND)
tview_csv -f event=CALL -f Usr="Администратор" *.log
# Значение с пробелами
tview_csv -f Usr="User Name" *.log# Группировка по нескольким полям, вывод JSON
tview_csv -g event,Usr -a duration -o json *.log- Инициализация — парсинг аргументов, поиск файлов, парсинг фильтров
- Обработка файлов — для каждого файла создаётся горутина:
- Чтение построчно (поддержка multiline-строк)
- Парсинг строки лога
- Применение фильтра
- Группировка и агрегация
- Сбор результатов — объединение данных из всех файлов
- Сортировка — по убыванию суммы агрегируемого поля
- Экспорт — вывод в stdout в формате CSV или JSON
go test -v
go test -coverprofile=cover.out
go tool cover -html=cover.out -o cover.htmlGNU General Public License v3 — см. LICENSE