Class: Banter::RabbitLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/banter/rabbit_logger.rb

Constant Summary collapse

@@log_map =
[:debug, :info, :warn, :error, :fatal]

Class Method Summary collapse

Class Method Details

.enabled?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/banter/rabbit_logger.rb', line 5

def self.enabled?
  Banter::Configuration.logging_enabled
end

.failed_publish(routing_key, properties, message) ⇒ Object



15
16
17
18
19
# File 'lib/banter/rabbit_logger.rb', line 15

def self.failed_publish(routing_key, properties, message)
  return unless enabled?
  tags = ["BANTER FAILED_SEND", message[:ts], message[:pub], message[:v], routing_key]
  logger.tagged(tags) { logger.error( { properties: properties, payload:message[:payload] }.as_json ) }
end

.log(log_level, message) ⇒ Object



40
41
42
43
# File 'lib/banter/rabbit_logger.rb', line 40

def self.log(log_level, message)
  tags = ["BANTER LOG_LEVEL:#{@@log_map[log_level].capitalize.to_s}", Process::pid]
  logger.tagged(tags) { logger.send(@@log_map[log_level], message.as_json ) }
end

.log_complete(routing_key, message) ⇒ Object



27
28
29
30
31
# File 'lib/banter/rabbit_logger.rb', line 27

def self.log_complete(routing_key, message)
  return unless enabled?
  tags = ["BANTER COMPLETED", message[:ts], message[:pub], message[:v], routing_key, Process::pid]
  logger.tagged(tags) { logger.warn message[:payload].as_json }
end

.log_publish(routing_key, message) ⇒ Object



9
10
11
12
13
# File 'lib/banter/rabbit_logger.rb', line 9

def self.log_publish(routing_key, message)
  return unless enabled?
  tags = ["BANTER PUBLISH", message[:ts], message[:pub], message[:v], routing_key]
  logger.tagged(tags) { logger.warn message[:payload].as_json }
end

.log_receive(routing_key, message) ⇒ Object



21
22
23
24
25
# File 'lib/banter/rabbit_logger.rb', line 21

def self.log_receive(routing_key, message)
  return unless enabled?
  tags = ["BANTER RECEIVED", message[:ts], message[:pub], message[:v], routing_key, Process::pid]
  logger.tagged(tags) { logger.warn message[:payload].as_json }
end

.log_service(service_name, message) ⇒ Object



33
34
35
36
37
# File 'lib/banter/rabbit_logger.rb', line 33

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

.loggerObject



45
46
47
# File 'lib/banter/rabbit_logger.rb', line 45

def self.logger
  Banter.logger
end