Sha256: 11dd208812f971a4cb46eb845a1a29cf67b558cd0ec61a6539ded07af0186303
Contents?: true
Size: 1.1 KB
Versions: 50
Compression:
Stored size: 1.1 KB
Contents
require 'logger' module Geocoder def self.log(level, message) Logger.instance.log(level, message) end class Logger include Singleton SEVERITY = { debug: ::Logger::DEBUG, info: ::Logger::INFO, warn: ::Logger::WARN, error: ::Logger::ERROR, fatal: ::Logger::FATAL } def log(level, message) unless valid_level?(level) raise StandardError, "Geocoder tried to log a message with an invalid log level." end if current_logger.respond_to? :add current_logger.add(SEVERITY[level], message) else raise Geocoder::ConfigurationError, "Please specify valid logger for Geocoder. " + "Logger specified must be :kernel or must respond to `add(level, message)`." end nil end private # ---------------------------------------------------------------- def current_logger logger = Geocoder.config[:logger] if logger == :kernel logger = Geocoder::KernelLogger.instance end logger end def valid_level?(level) SEVERITY.keys.include?(level) end end end
Version data entries
50 entries across 50 versions & 4 rubygems