class Disloku::Log
Public Class Methods
new()
click to toggle source
# File lib/disloku/Log.rb, line 11 def initialize() @loggers = {} rainbow = Rainbow.new() rainbow.enabled = true colors = { "DEBUG" => [:green, :normal], "INFO" => [:cyan, :normal], "WARN" => [:yellow, :bright], "ERROR" => [:red, :normal], "FATAL" => [:red, :bright], } addLogTarget(:default, STDOUT, Logger::INFO) do |severity, datetime, progname, msg| line = rainbow.wrap("#{msg}") if (colors.has_key?(severity)) c = colors[severity] line = line.color(c[0]) if (c[1] == :bright) line = line.bright() end end line + "\n" end @scope = [[:default]] end
Public Instance Methods
addLogTarget(key, io, level, &block)
click to toggle source
# File lib/disloku/Log.rb, line 39 def addLogTarget(key, io, level, &block) @loggers[key] = Logger.new(io) if (!block.nil?) @loggers[key].formatter = block end end
debug(message)
click to toggle source
# File lib/disloku/Log.rb, line 64 def debug(message) log(:debug, message) end
error(message)
click to toggle source
# File lib/disloku/Log.rb, line 76 def error(message) log(:error, message) end
fatal(message)
click to toggle source
# File lib/disloku/Log.rb, line 80 def fatal(message) log(:fatal, message) end
getLogTarget(key)
click to toggle source
# File lib/disloku/Log.rb, line 46 def getLogTarget(key) return @loggers[key] end
info(message)
click to toggle source
# File lib/disloku/Log.rb, line 68 def info(message) log(:info, message) end
level(key, level)
click to toggle source
# File lib/disloku/Log.rb, line 60 def level(key, level) @loggers[key].level = level end
log(method, message)
click to toggle source
# File lib/disloku/Log.rb, line 84 def log(method, message) @scope.last().each() do |targetKey| @loggers[targetKey].send(method, message) if !@loggers[targetKey].nil? end end
scope(scopeTargets) { || ... }
click to toggle source
# File lib/disloku/Log.rb, line 50 def scope(scopeTargets) if (scopeTargets.kind_of?(Symbol)) scopeTargets = [scopeTargets] end @scope.push(scopeTargets) yield @scope.pop() end
warn(message)
click to toggle source
# File lib/disloku/Log.rb, line 72 def warn(message) log(:warn, message) end