gpt4 book ai didi

ruby-on-rails - 为什么我不能在heroku控制台中打印(“puts”)?

转载 作者:行者123 更新时间:2023-12-04 05:47:23 24 4
gpt4 key购买 nike

我有一个Rails应用程序部署到heroku,需要在heroku console中修改一些数据。为了帮助我做到这一点,我在lib目录中创建了cmd.rb,其中包含一些方法。看起来是这样的:

class Cmd
def self.hello
puts "Hello World"
end

def self.create_member
# real code with multiple "puts" statements here
end
end


这是我尝试在heroku控制台中运行此命令时得到的结果:

$ heroku console
Ruby console for myapp.heroku.com
>> puts User.count
515
=> nil
>> 3.times {|i| puts i}
0
1
2
=> 3
>> require "#{Rails.root}/lib/cmd"
=> true
>> Cmd
=> Cmd
>> Cmd.hello
=> nil


上面明显缺少“ Hello World”。现在,如果在另一个终端窗口中执行此操作,则可以看到输出:

heroku logs --tail


但是输出中有很多噪音,我希望能够逐渐看到事物。

最佳答案

我认为可能是因为Heroku实现控制台的方式:


在Bamboo上,heroku rake和heroku控制台被实现为特殊情况的执行路径,并通过HTTP传递输出。这种方法有许多缺点,例如超时和耙任务上的非交互性。


因此,一种解决方案可能是升级到Cedar:http://devcenter.heroku.com/articles/cedar

另一种解决方案是禁用rails_log_stdout功能。我没有弄清楚该怎么做,但是开票可能会找到解决方案。

另外,您也许可以过滤日志结果。请参阅“过滤”:http://devcenter.heroku.com/articles/logging

关于ruby-on-rails - 为什么我不能在heroku控制台中打印(“puts”)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7502649/

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