aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/CHANGELOG2
-rwxr-xr-xactiverecord/lib/active_record/base.rb6
2 files changed, 5 insertions, 3 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index 1b00208043..b0b2a1c4ab 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Fixed Base.silence/benchmark to only log if a logger has been configured #986 [skaes@web.de]
+
* Added a join parameter as the third argument to Base.find_first and as the second to Base.count #426, #988 [skaes@web.de]
* Fixed bug in Base#hash method that would treat records with the same string-based id as different [Dave Thomas]
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index d15b7e9986..8d548ec8a2 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -687,16 +687,16 @@ module ActiveRecord #:nodoc:
def benchmark(title)
result = nil
bm = Benchmark.measure { result = silence { yield } }
- logger.info "#{title} (#{sprintf("%f", bm.real)})"
+ logger.info "#{title} (#{sprintf("%f", bm.real)})" if logger
return result
end
# Silences the logger for the duration of the block.
def silence
result = nil
- logger.level = Logger::ERROR
+ logger.level = Logger::ERROR if logger
result = yield
- logger.level = Logger::DEBUG
+ logger.level = Logger::DEBUG if logger
return result
end