Введение
Lazyjournal — это инструмент для быстрого просмотра и фильтрации логов с использованием интерфейса терминала. Написанный на языке Go с использованием библиотеки awesome-gocui (форк gocui), он вдохновлён такими инструментами, как lazydocker и lazygit.
Основной функционал
Работа с журналами
- Просмотр логов системных и пользовательских юнитов через
journalctl
. - Список всех загрузок системы для анализа логов ядра.
- Логи файловой системы из
/var/log
(например, Apache, Nginx), а такжеsyslog
,dmesg
(ядро) и авторизации пользователей (wtmp
иbtmp
), отсортированные по дате изменения. - Просмотр логов в домашней директории пользователей и root.
- Чтение архивированных логов в формате
.gz
.

Контейнеры Docker и Podman
- Логи контейнеров Docker, Podman и сервисов Swarm.
Фильтрация и поиск
- Отображение текущего выбранного лога с загрузкой и отметкой времени.
- Три режима фильтрации:
- По умолчанию: чувствительный к регистру поиск.
- Fuzzy: нечёткий, регистронезависимый поиск.
- Regex: поиск с использованием регулярных выражений, регистронезависимый по умолчанию.
Планы разработки
- Поддержка MacOS для работы с
launchd
. - Поддержка Windows для чтения логов событий через PowerShell.
- Синтаксическое окрашивание вывода логов (аналогично tailspin).
- Управление через мышь и прокрутка интерфейса.
- Работа с удалёнными машинами через
ssh
.
Установка
Быстрая установка
Для установки или обновления выполните команду в терминале:
curl https://raw.githubusercontent.com/Lifailon/lazyjournal/main/install.sh | bash
Установка через Go
Для установки через Go (должен быть установлен Go интерпретатор):
sudo snap install go --classic
grep -F 'export PATH=$PATH:$HOME/go/bin' $HOME/.bashrc || echo 'export PATH=$PATH:$HOME/go/bin' >> $HOME/.bashrc && source $HOME/.bashrc
go install github.com/Lifailon/lazyjournal@latest
Запуск:
lazyjournal
Сборка из исходного кода
- Клонируйте репозиторий:bashКопировать код
git clone https://github.com/Lifailon/lazyjournal cd lazyjournal
- Установите зависимости:bashКопировать код
go mod tidy
- Запустите проект:bashКопировать код
go run main.go
Для создания исполняемого файла для разных платформ:
bash build.sh
Горячие клавиши
Комбинация | Описание |
---|---|
Tab | Переключение между окнами. |
Shift+Tab | Возврат к предыдущему окну. |
Left/Right | Переключение между списками логов. |
Enter | Открыть журнал для просмотра. |
Up/Down | Прокрутка списка логов или вывода вверх/вниз. |
Shift+Up/Down | Быстрая прокрутка на 10 строк. |
Alt+Up/Down | Изменение количества строк в выводе (1000-50000). |
Alt+Left/Right | Смена режима фильтрации. |
Ctrl+R | Обновление текущего лога. |
Ctrl+D/W | Очистка поля фильтрации. |
Ctrl+C | Выход. |