class PEdump::ColoredLogger

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# 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