diff options
-rw-r--r-- | activesupport/lib/active_support/tagged_logging.rb | 3 | ||||
-rw-r--r-- | activesupport/test/tagged_logging_test.rb | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/tagged_logging.rb b/activesupport/lib/active_support/tagged_logging.rb index aff416a9eb..a59fc26d5d 100644 --- a/activesupport/lib/active_support/tagged_logging.rb +++ b/activesupport/lib/active_support/tagged_logging.rb @@ -1,3 +1,4 @@ +require 'active_support/core_ext/object/blank' require 'logger' module ActiveSupport @@ -18,7 +19,7 @@ module ActiveSupport def tagged(*new_tags) tags = current_tags - new_tags = Array.wrap(new_tags).flatten + new_tags = Array.wrap(new_tags).flatten.reject(&:blank?) tags.concat new_tags yield ensure diff --git a/activesupport/test/tagged_logging_test.rb b/activesupport/test/tagged_logging_test.rb index b12b12f32c..17c4214dfc 100644 --- a/activesupport/test/tagged_logging_test.rb +++ b/activesupport/test/tagged_logging_test.rb @@ -29,6 +29,11 @@ class TaggedLoggingTest < ActiveSupport::TestCase assert_equal "[BCX] [Jason] [New] Funky time\n", @output.string end + test "tagged once with blank and nil" do + @logger.tagged(nil, "", "New") { @logger.info "Funky time" } + assert_equal "[New] Funky time\n", @output.string + end + test "keeps each tag in their own thread" do @logger.tagged("BCX") do Thread.new do |