Parent

Logger::ColorFormatter

Extended Formatter that supports ANSI colors.

The basic mapping of ANSI colors is as follows:

    | reset | bold | dark | underline | blink | negative
MOD |     0 |    1 |    2 |         4 |     5 |        7

   | black | red | green | yellow | blue | magenta | cyan | white
FG |    30 |  31 |    32 |     33 |   34 |      35 |   36 |    37
BG |    40 |  41 |    42 |     43 |   44 |      45 |   46 |    47

The output is done by: “e[#{mod};#{fg};#{bg}m#{string}e[0m“. The suffix is to reset the terminal to the original state again.

Public Class Methods

color?(logdev) click to toggle source
# File lib/innate/log/color_formatter.rb, line 45
def self.color?(logdev)
  logdev.respond_to?(:tty?) and logdev.tty?
end

Public Instance Methods

call(severity, time, program, message) click to toggle source
# File lib/innate/log/color_formatter.rb, line 28
def call(severity, time, program, message)
  hint = severity[0,1]
  time = format_time(time)
  pid = $$
  string = colorize(msg2str(message), severity)

  FORMAT_LINE % [hint, time, pid, severity, program, string]
end
colorize(string, severity) click to toggle source
# File lib/innate/log/color_formatter.rb, line 41
def colorize(string, severity)
  LEVEL_COLOR[severity] % string
end
format_time(time) click to toggle source
# File lib/innate/log/color_formatter.rb, line 37
def format_time(time)
  time.strftime(FORMAT_TIME)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.