ruby-on-rails - ActiveJob + Sidekiq 6.0.3 : How to write to a log file?

标签 ruby-on-rails sidekiq rails-activejob

我正在使用 Sidekiq 完成一些后台工作。我还尝试将这些作业中的一些消息记录到日志文件中,但我无法完成这个简单的任务。

我正在运行的工作类型的示例

class TestJob < ApplicationJob
  queue_as :default

  def perform
    text = 'Print me to a file!'
    Rails.logger.error "Rails.logger.info : #{text}"
    logger.error "logger.info : #{text}"
  end
end

运行TestJob.perform_now ,例如,在 Controller 操作中,按预期工作,将消息打印到服务器终端输出以及 logs/development.log .

但运行 TestJob.perform_later不打印我的消息。任何地方。不是 Sidekiq 终端,服务器终端,日志文件,什么都没有。

我尝试按照 Sidekiq Logging wiki 中的建议重定向日志.但是消息也没有在那里打印。

我觉得我可能错过了一些重要的东西。

最佳答案

尝试调用Sidekiq.logger ,如:

    Sidekiq.logger.error "logger.info : #{text}"

将“logger.info”放入错误日志可能有点奇怪,但我只是从问题中发布的示例中获取。

关于ruby-on-rails - ActiveJob + Sidekiq 6.0.3 : How to write to a log file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175995/

相关文章:

ruby-on-rails - 将大量美元值输入到 Rails 货币对象中

ruby-on-rails - Ruby on Rails + Sidekiq : How do I change a scheduled job start time?

ruby - 如何在 sidekiq 中模拟立即重试按钮

ruby-on-rails - ActiveJob 在生产环境中没有使用 sidekiq

ruby-on-rails - 无法使用 RVM、Ruby 1.9.2 和 Rails 3 运行 RubyMine 调试器

ruby-on-rails - find_in_batches : how to end at a particular id?

ruby-on-rails - rails : redirect all unknown routes to root_url

ruby-on-rails - 如何在sidekiq中查找失败的作业列表?

ruby-on-rails - 使用销毁的对象将 ActiveJob 任务排入队列

ruby-on-rails - 如何从sidekiq获取作业执行时间?