Module: Logger::Metadata::Formatter

Defined in:
lib/logger/metadata/formatter.rb

Instance Method Summary collapse

Instance Method Details

#call(severity, timestamp, program_name, message) ⇒ Object



6
7
8
9
10
# File 'lib/logger/metadata/formatter.rb', line 6

def call(severity, timestamp, program_name, message)
  timestamp_string = '[' + timestamp.to_s + ']'
  formatted_message = "#{faint(timestamp_string)} #{message}#{faint()}"
  super(severity, timestamp, program_name, formatted_message)
end

#clear_metadata!Object



36
37
38
# File 'lib/logger/metadata/formatter.rb', line 36

def clear_metadata!
  .clear
end

#current_metadataObject



17
18
19
# File 'lib/logger/metadata/formatter.rb', line 17

def 
  .inject({}, &:merge)
end

#faint(string) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/logger/metadata/formatter.rb', line 46

def faint(string)
  if string.empty?
    string
  else
    "\e[2m#{string}\e[0m"
  end
end

#metadata(attributes) ⇒ Object



21
22
23
24
25
26
# File 'lib/logger/metadata/formatter.rb', line 21

def (attributes)
  (attributes)
  yield self
ensure
  
end

#metadata_stackObject



12
13
14
15
# File 'lib/logger/metadata/formatter.rb', line 12

def 
  thread_key = @metadata_thread_key ||= "metadata_logging:#{object_id}".freeze
  Thread.current[thread_key] ||= []
end

#metadata_textObject



40
41
42
43
44
# File 'lib/logger/metadata/formatter.rb', line 40

def 
  .map do |(key, value)|
    " (#{key}=#{value})"
  end.join('')
end

#pop_metadata(size = 1) ⇒ Object



32
33
34
# File 'lib/logger/metadata/formatter.rb', line 32

def (size = 1)
  .pop size
end

#push_metadata(attributes) ⇒ Object



28
29
30
# File 'lib/logger/metadata/formatter.rb', line 28

def (attributes)
  .push attributes
end