Я нашел этот отличный фрагмент кода на нескольких сайтах, что позволило мне проанализировать производственный журнал через Capistrano:
desc "tail production log files"
task :tail_logs, :roles => :app do
run "tail -f #{shared_path}/log/production.log" do |channel, stream, data|
puts # for an extra line break before the host name
puts "#{channel[:host]}: #{data}"
break if stream == :err
end
end
Это прекрасно работает, однако, когда я заканчиваю читать логи, я нажимаю Ctrl + C, и это вызывает неприятную ошибку на моей консоли. Не то чтобы это была огромная проблема, но я нахожу это раздражающим. Что я могу сделать, чтобы не возникало никаких ошибок, но просмотр задачи / хвоста / журнала просто тихо заканчивается?
Кроме того, я не очень хорошо разбираюсь в том, как анализировать журналы - действительно ли это лучший способ просто просмотреть самые последние события в вашем (удаленном производственном) журнале или есть лучший способ? Я знаю, что есть gazillion инструментов для анализа журналов, но я хочу, чтобы решение было просто, чтобы увидеть последние пару запросов, а не что-то громоздкое и сложное. Я не уверен, действительно ли это решение Capistrano действительно оптимально. Мол, какое решение использует большинство людей?