Pull to refresh

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

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

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:node.jssocket.iologgerpupergrepgreptaillogs
Hubs: Website development Node.JS
Total votes 82: ↑76 and ↓6 +70
Views10.9K

Comments 29

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Backend-разработчик (Node.js)
to 120,000 ₽vc.ruRemote job
Node.js разработчик
from 40,000 to 60,000 ₽Onlinetours.ruRemote job
Node.js Developer
from 90,000 ₽Modum LabRemote job
Backend node.JS
from 130,000 to 170,000 ₽JiffyRemote job