Вы не любите смотреть логи в консоли или вам не позволяют их любить, а следить за ходом дел как-то нужно?
PuperGrep — просмотрщик логов в браузере, который работает как tail -F, grep и подсвечивает самое интересное в вашем браузере. Или даже на вашем android, iPhone или iPad.
Возможности
- Реалтайм-просмотр логов.
- Возможность смотреть только интересные строки по списку регекспов.
- Возможность подсвечивать особенно интересные строки по списку регекспов.
- Способы группировки списков регекспов для фильтрации или подсветки через or (хотя бы одно) или and (все).
- Регулировка количества строк, отображаемых на экране.
- Возможность поставить лог на паузу, чтобы рассмотреть самое интересное.
- Быстрое переключение между логами с поиском по названию лога.
- Размер шрифта для куриц и орлов.
- Ссылки на конкретные логи со всеми настройками фильрации, подсветки и отображения (для букмарков и отправки друзьям
вконтакте). - Автоподсветка ссылок в логах
- Режим html лога (можно выводить последние загруженные в ваш сервис картинки).
- Подсветка активности в логе, даже если вы отфильтровали всё, что можно.
Невозможности
- Листать туда-сюда по логу на бесконечность. Только реалтайм.
- Скачивать логи целиком (у нас для этого nginx + autoindex).
Использование
Всё добро написано на node.js + socket.io + twitter bootstrap.
Чтобы завести у себя, выполняем следующие команды:
mkdir ~/mypupergrep cd ~/mypupergrep mkdir node_modules npm install pupergrep
Т.к. pupergrep — всего лишь модуль npm, нам нужно будет написать нехитрый сервер и сохранить его в ~/mypupergrep/server.js:
(function() { var PuperGrep = require("pupergrep"), puper = new PuperGrep(), manager = puper.getLogReaderManager(); // здесь my_cool_log - название лога, а /var/log/my_cool_log - путь к нему manager.addLog("my_cool_log", "/var/log/my_cool_log", function(error) { if (error) { console.log("Error adding test log", error); return; } // if your log may be interpreted as html: // manager.setLogType("my_cool_log", "html"); puper.listen(8080, "127.0.0.1"); }); })();
Запускается командой:
node server.js
Теперь по адресу http://127.0.0.1:8080/ будет виден ваш собственный PuperGrep с логом my_cool_log.
Если использовать в production, то разумно перед вашим сервером поставить nginx, который будет заниматься авторизацией пользователей или даже раздачей статики. Об этом есть на . Стоит учесть, что nginx не поддерживает websockets (пока что) и придётся при каждом открытии страницы ждать пару секунд для переключения на xhr-polling.
Конец концов
На страничке проекта на Github можно почитать подробнее. Там же можно оставить свой pull request, я буду только рад.
Демка, там активно пишется только uptime лог.
Автор: bobrik