【发布时间】:2011-03-07 11:06:10
【问题描述】:
我在几个网站上发现了这个漂亮的代码 sn-p,让我可以通过 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,它在我的控制台上产生了一个令人讨厌的错误。并不是说这是一个大问题,但我觉得它很烦人。我该怎么做才能不产生错误,但任务/尾/日志查看只是安静地结束?
另外,我不太熟悉如何分析日志 - 这真的是快速查看(远程生产)日志中最新事件的最佳方法,还是有更好的方法?我知道有大量用于日志分析的工具,但我想要一个非常简单的解决方案来查看最后几个请求,而不是笨重和复杂的东西。我不确定这个 Capistrano 解决方案是否真的是最优的。比如,大多数人使用的解决方案是什么?
【问题讨论】:
-
我们使用 log.io 来跟踪我们的日志(尤其是在发布期间以观看独角兽重新加载)。不是日志分析工具,而是一次流式传输多个日志的好方法。 logio.org
标签: ruby-on-rails ruby-on-rails-3 capistrano