Автор Тема: PuperGrep — логи в браузере в реальном времени  (Прочитано 2408 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн qwertyuser

  • самый главный админ
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 561
  • Karma: +65535/-0
  • кармадрочер
    • Просмотр профиля
    • ufoserver.org
PuperGrep — логи в браузере в реальном времени

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

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

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

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

PuperGrep — логи в браузере в реальном времени
по вопросам размещения Ваших сайтов на этом сервере пишите info@qwertyuser.ru