使用 rake 登录到 rails 控制台

Logging to rails console with rake

我有一个由作业调度程序调用的 rake 文件。该文件输出 desc 但我无法将任何其他内容记录到控制台。我错过了什么?

inbox.rake

namespace :inbox do
  desc 'Check inbox for new app builds'
  task process_inbox: :environment do
    puts "my task is working"  
  end
end

尝试手动打印到控制台。

namespace :inbox do
  desc 'Check inbox for new app builds'
  task process_inbox: :environment do
    Rails.logger.info "my task is working"  
  end
end

puts 将文本发送到 STDOUT,当您从终端 运行 rake 与从另一个 ruby 进程调用时是不同的。

您希望在哪里看到这段文字?

您没有使用 --quiet / --silent 是吗?

与 Heroku 日志类似,您需要 STDOUT 才能查看输出。可以像

一样简单
my_logger = Logger.new(STDOUT)
my_logger.info "work or die"