class TileUp::TileUpLogger

Base logger class, subclass this, do not use directly.

Public Class Methods

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 23
def initialize(level, options)
  @severity = level
  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 9
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 40
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 46
def info(message)
  add(:info, message)
end
level() click to toggle source
# File lib/tileup/logger.rb, line 31
def level
  @level
end
level=(severity) click to toggle source
# File lib/tileup/logger.rb, line 35
def level=(severity)
  logger.level = TileUpLogger.sym_to_severity(severity)
end
verbose(message) click to toggle source

log a verbose message

# File lib/tileup/logger.rb, line 55
def verbose(message)
  add(:info, message) if verbose?
end
warn(message) click to toggle source
# File lib/tileup/logger.rb, line 50
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 62
def add(severity, message)
  severity = TileUpLogger.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 79
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 73
def logger
  @logger ||= create_logger
end
verbose?() click to toggle source

is logger in verbose mode?

# File lib/tileup/logger.rb, line 68
def verbose?
  @options.verbose
end