Skip to content
Snippets Groups Projects
Commit d5d272f0 authored by Thu Trang Pham's avatar Thu Trang Pham
Browse files

Geocoder.log should always return nil

parent 4aff6d2d
No related branches found
No related tags found
No related merge requests found
......@@ -18,17 +18,19 @@ module Geocoder
}
def log(level, message)
return nil unless valid_level?(level)
logger = Geocoder.config[:logger]
return true unless valid_level?(level)
if logger == :kernel
kernel_log(level, message)
elsif logger.respond_to? :add
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
private
......
......@@ -18,13 +18,13 @@ class LoggerTest < GeocoderTestCase
end
def test_set_logger_logs
Geocoder.log(:warn, "should log")
assert_equal nil, Geocoder.log(:warn, "should log")
assert_equal "should log\n", @tempfile.read
end
def test_set_logger_does_not_log_severity_too_low
@logger.level = Logger::ERROR
assert_equal true, Geocoder.log(:info, "should not log")
assert_equal nil, Geocoder.log(:info, "should not log")
assert_equal "", @tempfile.read
end
......@@ -34,4 +34,13 @@ class LoggerTest < GeocoderTestCase
Geocoder.log(:info, "should raise error")
end
end
def test_set_logger_always_returns_nil
assert_equal nil, Geocoder.log(:info, "should log")
end
def test_kernel_logger_always_returns_nil
Geocoder.configure(logger: :kernel)
assert_equal nil, Geocoder.log(:info, "should log")
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment