Module: Zm::Client::ZmLogger::ZmLoggerColorized

Defined in:
lib/zm/client/zm_logger.rb

Constant Summary collapse

MODES =

ANSI sequence modes

{
  clear: 0,
  bold: 1,
  italic: 3,
  underline: 4
}.freeze
BLACK =

ANSI sequence colors

"\e[30m"
RED =
"\e[31m"
GREEN =
"\e[32m"
YELLOW =
"\e[33m"
BLUE =
"\e[34m"
MAGENTA =
"\e[35m"
CYAN =
"\e[36m"
WHITE =
"\e[37m"

Instance Method Summary collapse

Instance Method Details

#colorize_message(severity, str) ⇒ Object



70
71
72
# File 'lib/zm/client/zm_logger.rb', line 70

def colorize_message(severity, str)
  "#{severity_color(severity)}#{str}#{mode_code(:clear)}"
end

#format_message(severity, datetime, progname, msg) ⇒ Object



74
75
76
77
78
79
# File 'lib/zm/client/zm_logger.rb', line 74

def format_message(severity, datetime, progname, msg)
  colorize_message(
    severity,
    super
  )
end

#mode_code(mode) ⇒ Object



63
64
65
66
67
68
# File 'lib/zm/client/zm_logger.rb', line 63

def mode_code(mode)
  mode = mode.to_sym if mode.is_a?(String)
  return unless (value = MODES[mode])

  "\e[#{value}m"
end

#severity_color(severity) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/zm/client/zm_logger.rb', line 44

def severity_color(severity)
  case severity
  when 'DEBUG'
    CYAN
  when 'INFO'
    GREEN
  when 'WARN'
    YELLOW
  when 'ERROR'
    RED
  when 'FATAL'
    mode_code(:bold)
  when 'ANY'
    mode_code(:clear)
  else
    mode_code(:clear)
  end
end