aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-01-13 18:30:48 +0100
committerYves Senn <yves.senn@gmail.com>2014-01-13 19:00:45 +0100
commite0a521cfcd13e4d1f0ae8ab96004289e1c020f71 (patch)
tree3cfc6d031c0946bd1b669f5a17d60be8998955d6 /railties/test
parent4f779e32d875209d917b01e4252ad34712178f26 (diff)
downloadrails-e0a521cfcd13e4d1f0ae8ab96004289e1c020f71.tar.gz
rails-e0a521cfcd13e4d1f0ae8ab96004289e1c020f71.tar.bz2
rails-e0a521cfcd13e4d1f0ae8ab96004289e1c020f71.zip
Only lookup `config.log_level` for stdlib `::Logger`. Closes #11665.
This prevents Rails from assigning meaningless log levels to third party loggers like log4r. If `Rails.logger` is not `kind_of?(::Logger)` we simply assign the `config.log_level` as is. This bug was introduced by #11665.
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/configuration_test.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 6158c416d7..02d8b2c91d 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -754,7 +754,7 @@ module ApplicationTests
end
end
- test "config.log_level with custom logger" do
+ test "lookup config.log_level with custom logger (stdlib Logger)" do
make_basic_app do |app|
app.config.logger = Logger.new(STDOUT)
app.config.log_level = :info
@@ -762,6 +762,19 @@ module ApplicationTests
assert_equal Logger::INFO, Rails.logger.level
end
+ test "assign log_level as is with custom logger (third party logger)" do
+ logger_class = Class.new do
+ attr_accessor :level
+ end
+ logger_instance = logger_class.new
+ make_basic_app do |app|
+ app.config.logger = logger_instance
+ app.config.log_level = :info
+ end
+ assert_equal logger_instance, Rails.logger
+ assert_equal :info, Rails.logger.level
+ end
+
test "respond_to? accepts include_private" do
make_basic_app