module ApiHammer::RailsOrSidekiqLogger

include in a class to define logger which will switch between Sidekiq and Rails using RailsOrSidekiqLoggerMiddleware

class Foo
  include ApiHammer::RailsOrSidekiqLogger
end

Constants

LOGGER_KEY

Public Instance Methods

logger() click to toggle source
# File lib/api_hammer/rails_or_sidekiq_logger.rb, line 36
def logger
  logger = Thread.current[LOGGER_KEY] || ::Rails.logger
  logger.respond_to?(:tagged) ? logger : ::ActiveSupport::TaggedLogging.new(logger)
end
with_logger(logger) { || ... } click to toggle source
# File lib/api_hammer/rails_or_sidekiq_logger.rb, line 26
def with_logger(logger)
  orig_logger = Thread.current[LOGGER_KEY]
  begin
    Thread.current[LOGGER_KEY] = logger
    yield
  ensure
    Thread.current[LOGGER_KEY] = orig_logger
  end
end