Pull to refresh

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

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

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

Скриншот PuperGrep



Возможности



  • Реалтайм-просмотр логов.
  • Возможность смотреть только интересные строки по списку регекспов.
  • Возможность подсвечивать особенно интересные строки по списку регекспов.
  • Способы группировки списков регекспов для фильтрации или подсветки через 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 лог.
Tags:
Hubs:
+70
Comments29

Articles

Change theme settings