Назад | Перейти на главную страницу

Как просмотреть файл журнала в реальном времени (аналогично «tail -f») через Интернет

У меня есть сервер, на котором выполняется ряд задач. У каждой задачи есть файл журнала. У меня есть веб-сервер, который позволяет вам просматривать эти файлы журналов, но он просто копирует содержимое файла в браузер, и пользователь должен нажимать F5 снова и снова ...

Есть ли способ создать чистое "живое" представление с прокруткой для указанного журнала? Аналогично "tail -f" в окне терминала.

Это возможно, но, возможно, совершенно непрактично, если журналы заполняются быстро. Это потребует

  • сценарий, который отслеживает файл журнала.
    • Он может проверить, изменился ли файл после последней проверки и, возможно, насколько он увеличился.
    • Затем он должен получить данные из конца файла: увеличенные байты или достаточное количество строк для сравнения, что нового. Это зависит от того, можно ли пропускать несколько строк здесь и там или нет, и может быть намного сложнее, чем просто tail -f.
    • Постоянно работающий tail -f может быть источником сценария, но это может быть плохой дизайн: буфер может стать огромным или быть сброшенным другими пользователями.
    • Скрипт выведет файл, например, в Формат JSON.
  • JavaScript, который
    • регулярно вызывает предыдущий скрипт и
    • добавляет новые строки в элемент на веб-странице.
    • Возможно, добавление строк над предыдущими строками лучше подходит для Интернета?

Такая работа может быть выполнена или частично выполнена, если вы Google для log, tail & AJAX. Я не знаю качества этих проектов, и большинство из них кажутся довольно старыми и неуправляемыми.