Class: Liri::Common::LogFormatter

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

Constant Summary collapse

DATETIME_FORMAT =
"%d-%m-%Y %H:%M"
SEVERITY_COLORS =
{
    DEBUG: '0;36',  # cyan
    ERROR: '0;31',  # red
    INFO: '0;32',   # green
    WARN: '0;33',   # orange
    FATAL: '0;35',  # pink
    ANY: '0;36',    # cyan
    DEFAULT: '1;0'  # white
}

Class Method Summary collapse

Class Method Details

.colorize(type) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/common/log.rb', line 95

def colorize(type)
  proc do |severity, datetime, progname, msg|
    formatted_date = datetime.strftime(DATETIME_FORMAT)
    severity_abb_block = "#{severity.slice(0)}"
    date_block = "[#{formatted_date}##{Process.pid}]"
    severity_block = "#{severity} -- :"
    msg_block = "#{msg}\n"

    case type
    when 'severity' then
      info_block = "#{colorize_according_severity(severity, severity_abb_block)} #{date_block} #{colorize_according_severity(severity, severity_block)}"
    when 'severity_date' then
      info_block = colorize_according_severity(severity, "#{severity_abb_block} #{date_block} #{severity_block}")
    when 'full' then
      info_block = colorize_according_severity(severity, "#{severity_abb_block} #{date_block} #{severity_block}")
      msg_block = colorize_according_severity(severity, msg_block)
    else
      info_block = "#{severity_abb_block} #{date_block} #{severity_block}"
    end

    "#{info_block} #{msg_block}"
  end
end