【问题标题】:logging to production inside a delayed function rails在延迟的功能轨道内记录到生产
【发布时间】:2014-06-20 21:04:05
【问题描述】:

我正在尝试将某个函数中发生的一些日志记录输出到生产日志,该函数正在通过delayed_job 调用延迟。

例子:

我的控制器

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::Worker.logger.debug("TESTING") 将在我设置的delayed_job 日志中输出。有没有办法与生产合并?
  • 另外,@Gene,这在开发环境中有效,即使在延迟作业中我也可以看到日志,但在生产中它不显示

标签: ruby-on-rails delayed-job


【解决方案1】:

将初始化文件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 日志。

【讨论】:

猜你喜欢
  • 2011-11-18
  • 1970-01-01
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多