Полезные задачи для Capistrano (real-time лог)

Ноги, крылья... главное - хвост!!!

Продолжу тему с логами начатую в предыдущем посте. Иногда закачивать весь лог не нужно, а нужно всего лишь посмотреть последние записи которые в него поступают (желательно видеть ход заполнения лога в реальном времени). Сделать это можно используя следующую задачу:

desc "Last items from production log in real-time"
task :tail do
  stream "tail -f #{shared_path}/log/production.log"
end

Для получения последних записей из лога на удалённом хосте запускается всем знакомая команда tail. Ключ -f указывает ей что после вывода определённого количества строк (по умолчанию 10 строк) не надо завершаться, а надо ожидать поступление новых данных.

А затем команда stream из Capistrano перехватывает результат работы команды tail и передаёт их на ваш локальный компьютер, чтобы вы могли их увидеть у себя в консоли.

А вот если вы хотите получать только определённые строки из лога, то как вы понимаете придётся воспользоваться командой grep, но тут есть маленькая хитрость: нужно включить буферизацию вывода в grep, а для этого нужно задействовать ключ –line-buffered.

desc "Last parameters from production log in real-time"
task :tail_params do
  stream "tail -f #{shared_path}/log/production.log | grep --line-buffered Parameters"
end
Тэги: capistrano
Будь всегда в курсе последних новостей блога подписавшись на новости
в формате RSS. Присоединяйся!
* * *

Добавить новый комментарий

Доступные BB теги

*

* (не будет опубликован)

(если есть)

  • Multi CAPTCHA Refresh2
  • *

1. Проверьте комментарий перед отправкой
2. Все комментарии проходят модерацию перед публикацией в блоге