Module: BerkeleyLibrary::Logging::Formatters

Defined in:
lib/berkeley_library/logging/formatters.rb

Constant Summary collapse

ANSI_7C1_RE =
%r{\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])}.freeze

Class Method Summary collapse

Class Method Details

.ensure_hash(message) ⇒ Object

[View source]

25
26
27
28
29
30
# File 'lib/berkeley_library/logging/formatters.rb', line 25

def ensure_hash(message)
  return {} unless message
  return message if message.is_a?(Hash)

  { msg: message }
end

.lograge_formatterObject

[View source]

21
22
23
# File 'lib/berkeley_library/logging/formatters.rb', line 21

def lograge_formatter
  ->(data) { { msg: 'Request', request: Formatters.ensure_hash(data) } }
end

.new_json_formatterObject

[View source]

13
14
15
# File 'lib/berkeley_library/logging/formatters.rb', line 13

def new_json_formatter
  Bunyan.new
end

.new_readable_formatterObject

[View source]

17
18
19
# File 'lib/berkeley_library/logging/formatters.rb', line 17

def new_readable_formatter
  Readable.new
end

.strip_ansi_escapes(message) ⇒ Object

[View source]

32
33
34
35
36
37
38
39
# File 'lib/berkeley_library/logging/formatters.rb', line 32

def strip_ansi_escapes(message)
  return unless message
  return message.gsub(ANSI_7C1_RE, '') if message.is_a?(String)
  return message.map { |v| strip_ansi_escapes(v) } if message.is_a?(Array)
  return message.transform_values { |v| strip_ansi_escapes(v) } if message.is_a?(Hash)

  message
end