Sha256: afc1fd7b432831a424d1ed92c98fe2d4bbe9a6d42d11a64c290553b108cf63dd
Contents?: true
Size: 1.49 KB
Versions: 2
Compression:
Stored size: 1.49 KB
Contents
require 'logger' require 'singleton' module Rezept class TermColor class << self @@color = true def color=(color) @@color = color end def green(msg) colorize 32, msg end def yellow(msg) colorize 33, msg end def red(msg) colorize 31, msg end def colorize(num, msg) @@color ? "\e[#{num}m#{msg}\e[0m" : msg end end end class Logger < Logger include Singleton def initialize super(STDERR) self.formatter = proc do |severity, datetime, progname, msg| "#{msg}\n" end self.level = Logger::INFO end def debug(progname = nil, method_name = nil, msg) super(progname) { { method_name: method_name, message: msg } } end def info(msg) super { Rezept::TermColor.green(msg) } end def warn(msg) super { Rezept::TermColor.yellow(msg) } end def fatal(msg) super { Rezept::TermColor.red(msg) } end def error(msg) super { Rezept::TermColor.red(msg) } end module Helper def log(level, message) logger = Rezept::Logger.instance logger.send(level, message) end def info(msg) log(:info, msg) end def warn(msg) log(:warn, msg) end def fatal(msg) log(:error, msg) end def debug(msg) log(:debug, msg) end module_function :log, :info, :warn, :fatal, :debug end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rezept-0.4.2 | lib/rezept/logger.rb |
rezept-0.4.1 | lib/rezept/logger.rb |