class Roundhouse::Middleware::Server::Logging

Public Instance Methods

call(worker, item, queue) { || ... } click to toggle source
# File lib/roundhouse/middleware/server/logging.rb, line 6
def call(worker, item, queue)
  Roundhouse::Logging.with_context(log_context(worker, item)) do
    begin
      start = Time.now
      logger.info { "start" }
      yield
      logger.info { "done: #{elapsed(start)} sec" }
    rescue Exception
      logger.info { "fail: #{elapsed(start)} sec" }
      raise
    end
  end
end

Private Instance Methods

elapsed(start) click to toggle source
# File lib/roundhouse/middleware/server/logging.rb, line 29
def elapsed(start)
  (Time.now - start).round(3)
end
log_context(worker, item) click to toggle source

If we’re using a wrapper class, like ActiveJob, use the “wrapped” attribute to expose the underlying thing.

# File lib/roundhouse/middleware/server/logging.rb, line 24
def log_context(worker, item)
  klass = item['wrapped'.freeze] || worker.class.to_s
  "#{klass} JID-#{item['jid'.freeze]}#{" BID-#{item['bid'.freeze]}" if item['bid'.freeze]}"
end
logger() click to toggle source
# File lib/roundhouse/middleware/server/logging.rb, line 33
def logger
  Roundhouse.logger
end