class SiteMapper::Logger

Handles logging

Public Class Methods

err_log(err_msg) click to toggle source

Send an error message to the logger @param [String] err_msg to be logged

# File lib/site_mapper/logger.rb, line 38
def self.err_log(err_msg)
  @@log ||= use_logger_type(:default)
  @@log.err_log(err_msg)
end
log(msg) click to toggle source

Send a message to the logger @param [String] msg to be logged

# File lib/site_mapper/logger.rb, line 31
def self.log(msg)
  @@log ||= use_logger_type(:default)
  @@log.log(msg)
end
use_logger(logger) click to toggle source

Choose what logger to use. @return [Object] returns logger. @param [Class, log, err_log] logger a logger class

# File lib/site_mapper/logger.rb, line 24
def self.use_logger(logger)
  fail 'Logger already set' if defined?(@@log)
  @@log = logger
end
use_logger_type(type) click to toggle source

Choose what logger to use by type. @return [Object] returns the appropiate logger. @param [Symbol] type of logger class to be used

# File lib/site_mapper/logger.rb, line 8
def self.use_logger_type(type)
  fail 'Logger already set' if defined?(@@log)
  @@log = case type.to_s
  when 'nil', 'default'
    NilLogger
  when 'system'
    SystemOutLogger
  else
    fail ArgumentError, "Unknown logger type: '#{type}'"
  end
  @@log
end