aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2007-09-22 18:25:30 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2007-09-22 18:25:30 +0000
commit05f173e2c2607e38cc4f86d53fbba8c832082208 (patch)
treec904b189e718ea5378b813b6651537bef1c87b9e
parent2a34e082f3262a9a934b8794737dab87b80d8fdd (diff)
downloadrails-05f173e2c2607e38cc4f86d53fbba8c832082208.tar.gz
rails-05f173e2c2607e38cc4f86d53fbba8c832082208.tar.bz2
rails-05f173e2c2607e38cc4f86d53fbba8c832082208.zip
Added call to inspect on non-string classes for the logger (closes #8533) [codahale]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7565 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/clean_logger.rb2
-rw-r--r--activesupport/test/clean_logger_test.rb6
3 files changed, 9 insertions, 1 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG
index f70b6eebb2..e0057eb72e 100644
--- a/activesupport/CHANGELOG
+++ b/activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Added call to inspect on non-string classes for the logger #8533 [codahale]
+
* Deprecation: remove deprecated :mday option from Time, Date, and DateTime#change. [Jeremy Kemper]
* Fix JSON decoder with nested quotes and commas. #9579 [zdennis]
diff --git a/activesupport/lib/active_support/clean_logger.rb b/activesupport/lib/active_support/clean_logger.rb
index 7ce9faba48..95d4f07f4d 100644
--- a/activesupport/lib/active_support/clean_logger.rb
+++ b/activesupport/lib/active_support/clean_logger.rb
@@ -93,7 +93,7 @@ class Logger
class SimpleFormatter < Logger::Formatter
# This method is invoked when a log event occurs
def call(severity, timestamp, progname, msg)
- "#{msg}\n"
+ "#{String === msg ? msg : msg.inspect}\n"
end
end
diff --git a/activesupport/test/clean_logger_test.rb b/activesupport/test/clean_logger_test.rb
index cf7b5c6036..5c9c8f9147 100644
--- a/activesupport/test/clean_logger_test.rb
+++ b/activesupport/test/clean_logger_test.rb
@@ -48,4 +48,10 @@ class CleanLoggerTest < Test::Unit::TestCase
assert_equal "%Y-%m-%d", @logger.datetime_format
assert_match(/D, \[\d\d\d\d-\d\d-\d\d#\d+\] DEBUG -- : debug/, @out.string)
end
+
+ def test_nonstring_formatting
+ an_object = [1, 2, 3, 4, 5]
+ @logger.debug an_object
+ assert_equal("#{an_object.inspect}\n", @out.string)
+ end
end