gpt4 book ai didi

ruby-on-rails - 防止 Sidekiq 在测试中打印 "(...) INFO: Sidekiq client with redis options {}"

转载 作者:行者123 更新时间:2023-11-28 19:57:14 27 4
gpt4 key购买 nike

我使用 Rails 4 默认测试框架并编写了一些测试,这些测试也希望 Sidekiq 在“后台”做一些工作。但是当我运行 rake test 时,我的测试结果看起来像这样:

.............2014-08-01T05:40:52Z 12000 TID-abcdef123 INFO: Sidekiq client with redis options {}
.....................................

Finished in 3.0s, 9.000 runs/s, 150.000 assertions/s.
30 runs, 400 assertions, 0 failures, 0 errors, 0 skips

现在这在测试中看起来不错,但是 Sidekiq worker 的日志真的很烦人。为了防止出现这个日志,我在我的 worker 类里试过这个:

class MyWorker
include Sidekiq::Worker
sidekiq_options queue: :my_queue

def initialize
Rails.logger.level = 2 # set to :warn level
super
end

def perform(movie_id)
# Rails.logger.level = 0 # set back to :debug level?

# some code
end
end

同时对 Rails.logger.level 行进行了注释和取消注释,但记录的行并没有消失。 如何防止 Sidekiq 在运行 rake test 时记录此信息?

最佳答案

您可以将以下行添加到您的 sidekiq 初始化程序 (config/initializers/sidekiq.rb) 以将其关闭:

if Rails.env.test?
Sidekiq.logger.level = Logger::WARN
end

关于ruby-on-rails - 防止 Sidekiq 在测试中打印 "(...) INFO: Sidekiq client with redis options {}",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073676/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com