class KLog::LogFormatter

Styled Log formatter

Constants

SEVERITY_TO_COLOR_MAP

Public Instance Methods

call(severity, _timestamp, _prog_name, msg) click to toggle source
# File lib/k_log/log_formatter.rb, line 14
def call(severity, _timestamp, _prog_name, msg)
  severity = severity.upcase

  color = SEVERITY_TO_COLOR_MAP[severity]

  severity_value = format("\033[#{color}m%<severity>-5.5s\033[0m", { severity: severity })

  msg = msg.is_a?(String) ? msg : msg.inspect

  format(
    "%<time>s %<severity>s %<message>s\n", {
      time: Time.now.strftime('%d|%H:%M:%S'),
      severity: severity_value,
      message: msg
    }
  )
end