gpt4 book ai didi

ruby-on-rails - Capistrano 的尾部生产日志 - 如何阻止它

转载 作者:行者123 更新时间:2023-12-03 09:24:28 27 4
gpt4 key购买 nike

我在几个站点上发现了这个漂亮的代码片段,允许我通过 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 解决方案是否真的是最佳选择。比如,大多数人使用的解决方案是什么?

最佳答案

试试 trap("INT") { puts 'Interupted'; exit 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, stream, data|
puts # for an extra line break before the host name
puts "#{channel[:host]}: #{data}"
break if stream == :err
end
end

我希望这有帮助。

关于ruby-on-rails - Capistrano 的尾部生产日志 - 如何阻止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com