diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-01-13 18:30:48 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-01-13 19:00:45 +0100 |
commit | e0a521cfcd13e4d1f0ae8ab96004289e1c020f71 (patch) | |
tree | 3cfc6d031c0946bd1b669f5a17d60be8998955d6 /railties/test/application | |
parent | 4f779e32d875209d917b01e4252ad34712178f26 (diff) | |
download | rails-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/application')
-rw-r--r-- | railties/test/application/configuration_test.rb | 15 |
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 |