ruby-on-rails – 尾巴生产日志与Capistrano – 如何阻止它

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 尾巴生产日志与Capistrano – 如何阻止它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在几个站点上发现了这个漂亮的代码片段,让我通过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解决方案是否真的是最佳的.喜欢,大多数人使用什么解决方案?

解决方法

尝试陷阱(“INT”){puts’Interupted’;退出0; } 喜欢这个:
desc "tail production log files" 
task :tail_logs,:roles => :app do
  trap("INT") { puts 'Interupted'; exit 0; }
  run "tail -f #{shared_path}/log/production.log" do |channel,data|
    puts  # for an extra line break before the host name
    puts "#{channel[:host]}: #{data}" 
    break if stream == :err
  end
end

我希望这有帮助.

猜你在找的Ruby相关文章