Class: ChiliLogger::MessageWriter

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

Overview

class for writing log messages

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ MessageWriter

Returns a new instance of MessageWriter.



8
9
10
11
12
13
14
# File 'lib/message_writer/message_writer.rb', line 8

def initialize(config)
  @default = ChiliLogger::Values::Default.new
  @env = config[:env] || @default.env
  @layer = config[:layer] || @default.layer
  @server_url = config[:server_url] || @default.server_url
  @cloud_provider = config[:cloud_provider]
end

Instance Method Details

#clean_backtrace(backtrace) ⇒ Object



28
29
30
31
# File 'lib/message_writer/message_writer.rb', line 28

def clean_backtrace(backtrace)
  backtrace.reject! { |line| line =~ %r{bundle\/gems} }
  backtrace
end

#write(**options) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/message_writer/message_writer.rb', line 16

def write(**options)
  return if ChiliLogger.instance.deactivated

  desc = options[:desc] || @default.desc
  user = options[:user] || @default.user
  main_content = options[:main_content] || @default.main_content

  main_content[:backtrace] = clean_backtrace(caller)
  update_logs_coverage(desc, main_content)
  message_hash(desc: desc, user: user, main_content: main_content)
end

#write_description_tag(desc) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/message_writer/message_writer.rb', line 33

def write_description_tag(desc)
  env = desc[:env] || @env
  layer = desc[:layer] || @layer
  type = desc[:type] || @default.type
  service = desc[:service] || @default.service
  action = desc[:action] || @default.action

  "#{env}.#{layer}.#{type}.#{service}.#{action}"
end