我正在使用 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/