Ruby on rails 在延迟功能rails中记录到生产

Ruby on rails 在延迟功能rails中记录到生产,ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,我试图向生产日志输出一些日志记录,这些日志记录发生在一个函数中,该函数通过delayed_作业调用delay 例如: 我的控制器 def create_something @user = User.find(1) @user.delay.do_something_crazy end 我的模型 def do_something_crazy # some code Rails.logger.info "Doing something crazy right now!" end 日

我试图向生产日志输出一些日志记录,这些日志记录发生在一个函数中,该函数通过delayed_作业调用delay

例如:

我的控制器

def create_something
  @user = User.find(1)
  @user.delay.do_something_crazy
end
我的模型

def do_something_crazy
  # some code
  Rails.logger.info "Doing something crazy right now!"
end

日志记录未输出到我的生产日志中。它毫不迟疑地做到了,但似乎没有

将初始值设定项文件
delayed_jobs_settings.rb
添加到
config/initializers
(除非您已经有类似的延迟作业设置)并添加以下代码:

Delayed::Worker.logger = Logger.new(Rails.root.join('log', 'dj.log'))
并将其保存到
log/dj.log

或者只是

Delayed::Worker.logger = Rails.logger

对于默认Rails日志的记录。

请参阅建议的文档,在函数中使用
Delayed::Worker.logger.debug(“TESTING”)
将延迟到我设置的延迟作业日志中。有没有办法与生产合并?还有,@Gene,这在development env中起作用,我甚至可以在延迟的作业中看到日志,但在生产中没有显示