class Tochtli::MessageLogger
Public Instance Methods
call(env)
click to toggle source
# File lib/tochtli/application.rb, line 100 def call(env) start_time = Time.now message = env[:message] controller_class = env[:controller_class] delivery_info = env[:delivery_info] properties = env[:properties] action = env[:action] logger = env[:logger] action_info = action.is_a?(Proc) ? "block at #{action.source_location.join(':')}" : action logger.debug "\n\nAMQP Message #{message.class.name} at #{start_time}" logger.debug "Processing by #{controller_class.name}##{action_info} [Thread: #{Thread.current.object_id}]" logger.debug "\tMessage: #{message.attributes.inspect}." logger.debug "\tProperties: #{properties.inspect}." logger.debug "\tDelivery info: exchange: #{delivery_info[:exchange]}, routing_key: #{delivery_info[:routing_key]}." result = @app.call(env) logger.debug "Message #{properties[:message_id]} processed in %.1fms." % [(Time.now - start_time) * 1000] result end