class FreeZipcodeData::Logger
Attributes
log_provider[RW]
Public Class Methods
new(provider = default_logger)
click to toggle source
# File lib/free_zipcode_data/logger.rb, line 12 def initialize(provider = default_logger) @log_provider = provider end
Public Instance Methods
log_exception(e, data = {})
click to toggle source
# File lib/free_zipcode_data/logger.rb, line 16 def log_exception(e, data = {}) msg = "EXCEPTION : #{e.class.name} : #{e.message}" msg += "\n data : #{data.inspect}" if data && !data.empty? msg += "\n #{e.backtrace[0, 6].join("\n ")}" log_provider.error(msg) end
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/free_zipcode_data/logger.rb, line 23 def method_missing(meth, *args, &block) if log_provider.respond_to?(meth) log_provider.send(meth, *args, &block) else super end end
respond_to?(meth, include_private = false)
click to toggle source
Calls superclass method
# File lib/free_zipcode_data/logger.rb, line 31 def respond_to?(meth, include_private = false) if log_provider.respond_to?(meth) true else super end end
verbose(msg)
click to toggle source
# File lib/free_zipcode_data/logger.rb, line 39 def verbose(msg) info(msg) if options&.verbose end
Private Instance Methods
default_logger()
click to toggle source
# File lib/free_zipcode_data/logger.rb, line 45 def default_logger logger = ::Logger.new(STDOUT) logger.formatter = proc do |_, _, _, msg| "#{msg}\n" end logger end
options()
click to toggle source
# File lib/free_zipcode_data/logger.rb, line 53 def options Options.instance.hash end