class HTMLProofer::Log

Constants

STDERR_LEVELS
STDOUT_LEVELS

Public Class Methods

new(log_level) click to toggle source
# File lib/html-proofer/log.rb, line 13
def initialize(log_level)
  @logger = Yell.new(format: false, \
                     name: 'HTMLProofer', \
                     level: "gte.#{log_level}") do |l|
    l.adapter :stdout, level: 'lte.warn'
    l.adapter :stderr, level: 'gte.error'
  end
end

Public Instance Methods

colorize(level, message) click to toggle source
# File lib/html-proofer/log.rb, line 30
def colorize(level, message)
  color = case level
          when :debug
            :cyan
          when :info
            :blue
          when :warn
            :yellow
          when :error, :fatal
            :red
          end

  if (STDOUT_LEVELS.include?(level) && $stdout.isatty) || \
     (STDERR_LEVELS.include?(level) && $stderr.isatty)
    Rainbow(message).send(color)
  else
    message
  end
end
debug(message = nil) click to toggle source

dumb override to play nice with Typhoeus/Ethon

# File lib/html-proofer/log.rb, line 51
def debug(message = nil)
  log(:debug, message) unless message.nil?
end
log(level, message) click to toggle source
# File lib/html-proofer/log.rb, line 22
def log(level, message)
  log_with_color(level, message)
end
log_with_color(level, message) click to toggle source
# File lib/html-proofer/log.rb, line 26
def log_with_color(level, message)
  @logger.send level, colorize(level, message)
end