Sha256: 7c34cfbc88f5b395189d8f812f5e00ba75ce897d13453a51925b3967fbdb51da
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
# encoding: utf-8 begin require "term/ansicolor" rescue LoadError raise LoadError, "You have to install term-ansicolor gem!" end require_relative "plain" module SimpleLogger class Logger < Plain @@colors = { fatal: "red.bold", error: "red", warn: "yellow", info: "green", debug: "cyan", custom: "magenta" } # Generate the logging methods for SimpleLogger.logger for each log level. self::Levels.each_pair do |name, number| color = @@colors[name] class_eval <<-RUBY, __FILE__, __LINE__ # Appends a message to the log if the log level is at least as high as # the log level of the logger. # # ==== Parameters # string<String>:: The message to be logged. Defaults to nil. # # ==== Returns # self:: The logger object for chaining. def #{name}(message = nil) self << message.extend(Term::ANSIColor).#{color} self end # Appends a message to the log if the log level is at least as high as # the log level of the logger. The bang! version of the method also auto # flushes the log buffer to disk. # # ==== Parameters # string<String>:: The message to be logged. Defaults to nil. # # ==== Returns # self:: The logger object for chaining. def #{name}!(message = nil) self << message.extend(Term::ANSIColor).#{color} flush if #{number} >= level self end # ==== Returns # Boolean:: True if this level will be logged by this logger. def #{name}? #{number} >= level end RUBY end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple-logger-0.0.2 | lib/simple-logger/logger.rb |