gpt4 book ai didi

ruby-on-rails - 在 Heroku 上运行 Rake 任务时,如何将日志消息保留在 STDOUT 之外?

转载 作者:行者123 更新时间:2023-12-03 20:46:13 25 4
gpt4 key购买 nike

我有一些生成 CSV 输出的 Rake 任务,我想将其重定向到一个文件并使用其他工具打开,但是当我运行 heroku rake foo > foo.csv 时,我收到日志消息(SQL 查询等)在我的输出中。

我在顶部尝试了 Rails.logger = Logger.new('/dev/null')Rails.logger = Logger.new(STDERR) Rake 任务的一部分,虽然它们在本地按预期运行,但当我在 Heroku 上运行任务时,它们没有任何明显的影响。

我对 Heroku 将 STDOUT 和 STDERR 压缩在一起并不太震惊,但我觉得为什么发送到/dev/null 不会终止输出是个谜。

非常感谢任何帮助。

Rails v3.0.0,Heroku bamboo-ree-1.8.7 堆栈,rake 0.9.2。

最佳答案

我遇到了同样的问题,但直到我将 config/environments/production.rb 更改为以下内容后我才遇到它:

  config.logger = Logger.new(STDOUT)

(我这样做是为了让我的应用程序记录到 heroku 日志。)

我的修复是这样的:

config.logger = Logger.new(STDOUT) unless 'rake' == File.basename($0)

关于ruby-on-rails - 在 Heroku 上运行 Rake 任务时,如何将日志消息保留在 STDOUT 之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7035058/

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