class Sidecloq::Utils::ContextLogger

Sets the Sidekiq::Logging context automatically with direct calls to *.logger

Public Class Methods

new(ctx) click to toggle source
# File lib/sidecloq/utils.rb, line 7
def initialize(ctx)
  @context = ctx
end

Public Instance Methods

method_missing(meth, *args) click to toggle source
# File lib/sidecloq/utils.rb, line 27
def method_missing(meth, *args)
  sidekiq_logging_context_method.call(@context) do
    Sidekiq.logger.send(meth, *args)
  end
end
sidekiq_logging_context_method() click to toggle source
# File lib/sidecloq/utils.rb, line 11
def sidekiq_logging_context_method
  @sidekiq_logging_context_method ||=
    begin
      if defined? Sidekiq::Logging
        # sidekiq < 6
        Sidekiq::Logging.method(:with_context)
      elsif defined?(Sidekiq::Context)
        # sidekiq 6, <= 6.0.1
        Sidekiq::Context.method(:with)
      else
        # sidekiq 6, master
        Sidekiq.logger.method(:with_context)
      end
    end
end