class Banter::RabbitLogger

Public Class Methods

enabled?() click to toggle source
# File lib/banter/rabbit_logger.rb, line 7
def self.enabled?
  true
  # Banter::Configuration.logging_enabled
end
failed_publish(routing_key, properties, envelope) click to toggle source
# File lib/banter/rabbit_logger.rb, line 16
def self.failed_publish(routing_key, properties, envelope)
  internal_log(:error, "BANTER FAILED_SEND", envelope, routing_key, { properties: properties, payload:envelope[:payload] })
end
internal_log(log_level, log_type, envelope, routing_key, payload) click to toggle source
# File lib/banter/rabbit_logger.rb, line 50
def self.internal_log(log_level, log_type, envelope, routing_key, payload)
  return unless enabled?
  tags = [log_type, envelope[:ts].to_s, envelope[:pub], envelope[:v].to_s, routing_key].compact.map{|x| utf(x)}
  logger.tagged(tags) { logger.send(log_level, utf(payload.to_s)) }
end
log(log_level, message) click to toggle source
# File lib/banter/rabbit_logger.rb, line 45
def self.log(log_level, message)
  tags = ["BANTER LOG_LEVEL:#{@@log_map[log_level].capitalize.to_s}", Process::pid.to_s].map{|x| utf(x)}
  logger.tagged(tags) { logger.send(@@log_map[log_level], utf(message.as_json.to_s) ) }
end
log_complete(routing_key, envelope) click to toggle source
# File lib/banter/rabbit_logger.rb, line 24
def self.log_complete(routing_key, envelope)
  internal_log(:warn, "BANTER COMPLETED", envelope, routing_key, envelope[:payload])
end
log_publish(routing_key, envelope) click to toggle source
# File lib/banter/rabbit_logger.rb, line 12
def self.log_publish(routing_key, envelope)
  internal_log(:warn, "BANTER PUBLISH", envelope, routing_key, envelope[:payload])
end
log_receive(routing_key, envelope) click to toggle source
# File lib/banter/rabbit_logger.rb, line 20
def self.log_receive(routing_key, envelope)
  internal_log(:warn, "BANTER RECEIVED", envelope, routing_key, envelope[:payload])
end
log_service(service_name, message) click to toggle source
# File lib/banter/rabbit_logger.rb, line 39
def self.log_service(service_name, message)
  return unless enabled?
  tags = ["BANTER SERVICE", service_name, Process::pid]
  logger.tagged(tags) { logger.info message.as_json}
end
log_subscriber_failed(routing_key, delivery_info, properties, envelope, contents) click to toggle source
# File lib/banter/rabbit_logger.rb, line 28
def self.log_subscriber_failed(routing_key, delivery_info, properties, envelope, contents)
  if envelope.nil?
    # message could not be parsed, so we have to log this one differently.
    tags = ["BANTER SUBSCRIBER FAILED", Time.now.to_i.to_s, routing_key].map{|x| utf(x)}
    logger.tagged(tags) { logger.send(:error, utf( "contents: #{contents.to_s} -- properties: #{properties.to_s}")) }
  else
    internal_log(:warn, "BANTER SUBSCRIBER FAILED", envelope, routing_key,  { delivery_info: delivery_info, properties: properties,
      contents: envelope[:payload] } )
  end
end
logger() click to toggle source
# File lib/banter/rabbit_logger.rb, line 56
def self.logger
  Banter.logger
end
utf(field) click to toggle source
# File lib/banter/rabbit_logger.rb, line 60
def self.utf(field)
  field.force_encoding('utf-8')
end