module SidekiqUniqueJobs::Logging::Middleware

Context aware logging for Sidekiq Middlewares

@author Mikael Henriksson <mikael@mhenrixon.com>

Public Class Methods

included(base) click to toggle source
# File lib/sidekiq_unique_jobs/logging/middleware_context.rb, line 18
def self.included(base)
  base.class_eval do
    extend Logging::Middleware
  end
end

Public Instance Methods

logging_context() click to toggle source

Provides a logging context for Sidekiq Middlewares

@return [Hash] when logger responds to `:with_context` @return [String] when logger does not responds to `:with_context`

# File lib/sidekiq_unique_jobs/logging/middleware_context.rb, line 31
def logging_context
  middleware = is_a?(SidekiqUniqueJobs::Middleware::Client) ? :client : :server
  digest     = item[LOCK_DIGEST]
  lock_type  = item[LOCK]

  if logger_context_hash?
    { "uniquejobs" => middleware, lock_type => digest }
  else
    "uniquejobs-#{middleware} #{"DIG-#{digest}" if digest}"
  end
end