Class: PEdump::ColoredLogger

Inherits:
Logger
  • Object
show all
Defined in:
lib/pedump/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ ColoredLogger

Returns a new instance of ColoredLogger.



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/pedump/logger.rb', line 42

def initialize *args
  super
  @formatter = proc do |severity,_,_,msg|
    # quick and dirty way to remove duplicate messages
    if @prevmsg == msg && severity != 'DEBUG' && severity != 'INFO'
      ''
    else
      @prevmsg = msg
      color =
        case severity
        when 'FATAL'
          :redish
        when 'ERROR'
          :red
        when 'WARN'
          :yellowish
        when 'DEBUG'
          :gray
        end
      "#{color ? msg.send(color) : msg}\n"
    end
  end
  @level = WARN
end