Полезные задачи для Capistrano (real-time лог)
-
12 октября 2008 18:05
-
Комментарии

Продолжу тему с логами начатую в предыдущем посте. Иногда закачивать весь лог не нужно, а нужно всего лишь посмотреть последние записи которые в него поступают (желательно видеть ход заполнения лога в реальном времени). Сделать это можно используя следующую задачу:
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
в формате RSS. Присоединяйся!
Добавить новый комментарий
Вы можете использовать следующие BBCode теги в комментариях:
| BBCode тег | Результат |
|---|---|
| [b]Жирный текст[/b] | Жирный текст |
| [i]Курсив[/i] | Курсив |
| [u]Подчёркнутый текст[/u] | Подчёркнутый текст |
| [url]http://example.com[/url] | http://example.com |
| [url=http://example.com]Example[/url] | Example |
|
[code]for message in @messages puts message.name end[/code] |
|
|
[quote] IE6 must die! [/quote] |
IE6 must die! |

