Module: Extlib::ColorfulLogger

Defined in:
lib/colorful-logger.rb

Constant Summary collapse

@@colors =
{
  fatal:  :red,
  error:  :red,
  warn:   :yellow,
  info:   :white,
  debug:  :cyan,
  custom: :magenta
}
@@color_values =
{
  black:   30,
  red:     31,
  green:   32,
  yellow:  33,
  blue:    34,
  magenta: 35,
  cyan:    36,
  white:   37
}

Class Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/colorful-logger.rb', line 29

def self.extended(base)
  metaclass = (class << base; self; end)
  metaclass::Levels.each_pair do |name, number|
    color = @@color_values[@@colors[name]]
    class_eval "\n    def \#{name}(message = nil)\n      if \#{number} >= level\n        message = block_given? ? yield : message\n        self << \"\\033[0;\\\#{\#{color}}m%s\\033[0m\" % message\n      end\n      self\n    end\n\n    def \#{name}!(message = nil)\n      if \#{number} >= level\n        message = block_given? ? yield : message\n        self << \"\\033[0;\\\#{\#{color}}m%s\\033[0m\" % message\n        flush\n      end\n      self\n    end\n    RUBY\n  end\nend\n", __FILE__, __LINE__