我正在使用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
可以正常工作,将消息打印到服务器终端输出以及logs/development.log
。
但是运行TestJob.perform_later
不能打印我的消息。任何地方。没有到Sidekiq终端,服务器终端,日志文件,什么都没有。
我尝试按照Sidekiq Logging wiki中的建议重定向日志。但是消息也没有在那里打印。
我觉得我可能缺少一些重要的东西。
答案 0 :(得分:2)
尝试拨打Sidekiq.logger
,如下所示:
Sidekiq.logger.error "logger.info : #{text}"
在错误日志中添加“ logger.info”可能有点怪异,但我只是从问题中发布的示例中提取信息。