From aec31cd09f12fcda128582ef5bfbe25bb87db644 Mon Sep 17 00:00:00 2001
From: David Heinemeier Hansson <david@loudthinking.com>
Date: Sat, 2 Apr 2005 08:31:26 +0000
Subject: Fixed Base.silence/benchmark to only log if a logger has been
 configured #986 [skaes@web.de]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1059 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 activerecord/CHANGELOG                 | 2 ++
 activerecord/lib/active_record/base.rb | 6 +++---
 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
 
-- 
cgit v1.2.3