class TileUp::Logger
Base logger class, subclass this, do not use directly.
Public Class Methods
build(type, level, options = {})
click to toggle source
# File lib/tileup/logger.rb, line 9 def self.build type, level, options = {} case type when 'none' then TileUp::Loggers::None.new(level, options) when ::Logger then TileUp::Logger.new(level, options.merge(logger: type)) else TileUp::Loggers::Console.new(level, options) end end
new(level, options = {})
click to toggle source
create logger set to given level where level is a symbol (:debug, :info, :warn, :error, :fatal) options may specifiy verbose, which will log more info messages
# File lib/tileup/logger.rb, line 31 def initialize(level, options = {}) @severity = level @logger = options[:logger] if options[:logger] default_options = { verbose: false } @options = OpenStruct.new(default_options.merge(options)) end
sym_to_severity(sym)
click to toggle source
# File lib/tileup/logger.rb, line 17 def self.sym_to_severity(sym) severities = { :debug => ::Logger::DEBUG, :info => ::Logger::INFO, :warn => ::Logger::WARN, :error => ::Logger::ERROR, :fatal => ::Logger::FATAL } severity = severities[sym] || ::Logger::UNKNOWN end
Public Instance Methods
error(message)
click to toggle source
log an error message
# File lib/tileup/logger.rb, line 47 def error(message) # note, we always log error messages add(:error, message) end
info(message)
click to toggle source
log a regular message
# File lib/tileup/logger.rb, line 53 def info(message) add(:info, message) end
level()
click to toggle source
# File lib/tileup/logger.rb, line 38 def level @level end
level=(severity)
click to toggle source
# File lib/tileup/logger.rb, line 42 def level=(severity) logger.level = Logger.sym_to_severity(severity) end
verbose(message)
click to toggle source
log a verbose message
# File lib/tileup/logger.rb, line 62 def verbose(message) add(:info, message) if verbose? end
warn(message)
click to toggle source
# File lib/tileup/logger.rb, line 57 def warn(message) add(:warn, message) end
Private Instance Methods
add(severity, message)
click to toggle source
add message to log
# File lib/tileup/logger.rb, line 69 def add(severity, message) severity = Logger.sym_to_severity(severity) logger.add(severity, message) end
create_logger()
click to toggle source
subclasses should overwrite this method, creating what ever logger they want to
# File lib/tileup/logger.rb, line 88 def create_logger raise "You should create your own `create_logger` method" end
logger()
click to toggle source
create or return a logger
# File lib/tileup/logger.rb, line 80 def logger @logger ||= create_logger end
verbose?()
click to toggle source
is logger in verbose mode?
# File lib/tileup/logger.rb, line 75 def verbose? @options.verbose end