ruby-on-rails – 尾巴生产日志与Capistrano – 如何阻止它
发布时间:2020-12-16 21:46:32 所属栏目:百科 来源:网络整理
导读:我在几个站点上发现了这个漂亮的代码片段,让我通过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 bre
我在几个站点上发现了这个漂亮的代码片段,让我通过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 我希望这有帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |