class Warren::Handler::Log::Channel
Mimics a {Broadcast::Channel} but instead passes out to a logger
Public Class Methods
new(logger, routing_key_template: '%s')
click to toggle source
# File lib/warren/handler/log.rb, line 12 def initialize(logger, routing_key_template: '%s') @logger = logger @routing_key_template = routing_key_template end
Public Instance Methods
<<(message)
click to toggle source
Logs `message` to the configured logger
@param message [#routing_key,#payload] A message should respond to routing_key and payload.
@see Warren::Message::Full
@return [Warren::Handler::Broadcast::Channel] returns self for chaining
# File lib/warren/handler/log.rb, line 24 def <<(message) @logger.info "Published: #{key_for(message)}" @logger.debug "Payload: #{message.payload}" self end
exchange(name, options)
click to toggle source
# File lib/warren/handler/log.rb, line 30 def exchange(name, options) @logger.debug "Declared exchange: #{name}, #{options.inspect}" Exchange.new(name, options) end
prefetch(number)
click to toggle source
NOOP - Provided for API compatibility
# File lib/warren/handler/log.rb, line 41 def prefetch(number); end
queue(name, options)
click to toggle source
# File lib/warren/handler/log.rb, line 35 def queue(name, options) @logger.debug "Declared queue: #{name}, #{options.inspect}" Queue.new(@logger, name) end
Private Instance Methods
key_for(message)
click to toggle source
# File lib/warren/handler/log.rb, line 45 def key_for(message) @routing_key_template % message.routing_key end