Sha256: 926b12d28220b235e7e47f354790a8dd096571ee477e20554dd25726c2c47bf5

Contents?: true

Size: 1.28 KB

Versions: 10

Compression:

Stored size: 1.28 KB

Contents

require 'logger'

module Wunderbar
  def self.logger
    return @logger if @logger
    @logger = Logger.new(STDERR)
    @logger.level = Logger::WARN
    @logger.formatter = proc { |severity, datetime, progname, msg|
      "_#{severity} #{msg}\n"
    }
    @logger
  end

  def self.log_level=(level)
    return unless level

    case level.to_s.downcase
    when 'debug'; logger.level = Logger::DEBUG
    when 'info';  logger.level = Logger::INFO
    when 'warn';  logger.level = Logger::WARN
    when 'error'; logger.level = Logger::ERROR
    when 'fatal'; logger.level = Logger::FATAL
    else
      warn "Invalid log_level specified: #{level}"
    end
  end

  # convenience methods
  def self.debug(*args, &block)
    logger.debug *args, &block
  end

  def self.info(*args, &block)
    logger.info *args, &block
  end

  def self.warn(*args, &block)
    logger.warn *args, &block
  end

  def self.error(*args, &block)
    logger.error *args, &block
  end

  def self.fatal(*args, &block)
    logger.fatal *args, &block
  end
end

Wunderbar.log_level = :debug  if ARGV.delete '--debug'
Wunderbar.log_level = :info   if ARGV.delete '--info'
Wunderbar.log_level = :warn   if ARGV.delete '--warn'
Wunderbar.log_level = :error  if ARGV.delete '--error'
Wunderbar.log_level = :fatal  if ARGV.delete '--fatal'

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
wunderbar-0.8.13 lib/wunderbar/logger.rb
wunderbar-0.8.12 lib/wunderbar/logger.rb
wunderbar-0.8.11 lib/wunderbar/logger.rb
wunderbar-0.8.10 lib/wunderbar/logger.rb
wunderbar-0.8.9 lib/wunderbar/logger.rb
wunderbar-0.8.8 lib/wunderbar/logger.rb
wunderbar-0.8.7 lib/wunderbar/logger.rb
wunderbar-0.8.6 lib/wunderbar/logger.rb
wunderbar-0.8.5 lib/wunderbar/logger.rb
wunderbar-0.8.4 lib/wunderbar/logger.rb