module Dr::Logger
Public Class Methods
log(msg_type, msg, verbosity=nil)
click to toggle source
# File lib/dr/logger.rb, line 105 def self.log(msg_type, msg, verbosity=nil) out = "dr".style("log-head") << " " case msg_type when :info out << "info".style(@@message_types[:info]) verbosity = :informative unless verbosity when :warn out << "WARN".style(@@message_types[:warn]) verbosity = :informative unless verbosity when :err out << "ERR!".style(@@message_types[:err]) verbosity = :essential unless verbosity when :debug out << "dbg?".style(@@message_types[:debug]) verbosity = :verbose unless verbosity end if verbosity <= @@verbosity out << " " << msg.chomp puts out STDOUT.flush unless @@log_file.nil? @@log_file.puts strip_colours out @@log_file.flush end end end
set_logfile(file)
click to toggle source
# File lib/dr/logger.rb, line 94 def self.set_logfile(file) @@log_file = file end
set_verbosity(level)
click to toggle source
# File lib/dr/logger.rb, line 98 def self.set_verbosity(level) msg = "Message verbosity level not recognised (#{})." raise msg unless @@logger_verbosity_levels.has_key? level.to_sym @@verbosity = level.to_sym end
Private Class Methods
strip_colours(string)
click to toggle source
# File lib/dr/logger.rb, line 144 def self.strip_colours(string) string.gsub(/\033\[[0-9]+(;[0-9]+){0,2}m/, '') end
Public Instance Methods
log(msg_type, msg)
click to toggle source
# File lib/dr/logger.rb, line 135 def log(msg_type, msg) Logger::log msg_type, msg end
tag(tag, msg)
click to toggle source
# File lib/dr/logger.rb, line 139 def tag(tag, msg) tag.fg("blue").bg("dark-grey") << " " << msg end