Sha256: 9c82a9f501d86bda0eaac72ad46c18734c7b30777ca6172050b6f01efdf1663c
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'logger' require 'singleton' module Rezept class TermColor class << self 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) "\e[#{num}m#{msg}\e[0m" 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(progname = nil, method_name = nil, msg, backtrace) super(progname) { { method_name: method_name, message: msg, backtrace: backtrace } } 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rezept-0.0.2 | lib/rezept/logger.rb |