- PVSM.RU - https://www.pvsm.ru -

PuperGrep — логи в браузере в реальном времени

Вы не любите смотреть логи в консоли или вам не позволяют их любить, а следить за ходом дел как-то нужно?

PuperGrep — просмотрщик логов в браузере, который работает как tail -F, grep и подсвечивает самое интересное в вашем браузере. Или даже на вашем android, iPhone или iPad.

Скриншот PuperGrep [1]

Возможности

  • Реалтайм-просмотр логов.
  • Возможность смотреть только интересные строки по списку регекспов.
  • Возможность подсвечивать особенно интересные строки по списку регекспов.
  • Способы группировки списков регекспов для фильтрации или подсветки через 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/ [2] будет виден ваш собственный PuperGrep с логом my_cool_log.

Если использовать в production, то разумно перед вашим сервером поставить nginx, который будет заниматься авторизацией пользователей или даже раздачей статики. Об этом есть на . Стоит учесть, что nginx не поддерживает websockets (пока что) и придётся при каждом открытии страницы ждать пару секунд для переключения на xhr-polling.

Конец концов

На страничке проекта на Github [3] можно почитать подробнее. Там же можно оставить свой pull request, я буду только рад.

Демка [4], там активно пишется только uptime лог.

Автор: bobrik


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/node-js/13614

Ссылки в тексте:

[1] Image: http://i.imgur.com/Xl3yf.png

[2] http://127.0.0.1:8080/: http://127.0.0.1:8080/

[3] страничке проекта на Github: https://github.com/bobrik/pupergrep

[4] Демка: http://home.bobrik.name