class Geocoder::Logger

def kernel_log(level, message)

def kernel_log(level, message)
  case level
  when :debug, :info
    puts message
  when :warn
    warn message
  when :error
    raise message
  when :fatal
    fail message
  end
end

def log(level, message)

def log(level, message)
  return nil unless valid_level?(level)
  logger = Geocoder.config[:logger]
  if logger == :kernel
    kernel_log(level, message)
  elsif logger.kind_of? ::Logger
    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

def valid_level?(level)

def valid_level?(level)
  [:debug, :info, :warn, :error, :fatal].include? level
end