aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/logger_silence.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2016-02-24 10:25:03 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2016-02-24 10:25:03 -0300
commite56e2459cb5ec8d4752e051ead76e8ffb98f8b4b (patch)
treee45a947693ebef0194a6fb728dbd59a59ebc1fe9 /activesupport/lib/active_support/logger_silence.rb
parent34ad8240f29c51285b2de3346ca555498c4dbb7f (diff)
parent2518bda97cbbcb33dc9a92e70d5b01c09e64d12d (diff)
downloadrails-e56e2459cb5ec8d4752e051ead76e8ffb98f8b4b.tar.gz
rails-e56e2459cb5ec8d4752e051ead76e8ffb98f8b4b.tar.bz2
rails-e56e2459cb5ec8d4752e051ead76e8ffb98f8b4b.zip
Merge pull request #23616 from piotrj/issue_23609_logger_broadcast_silencing
Fix logger silencing for broadcasted loggers
Diffstat (limited to 'activesupport/lib/active_support/logger_silence.rb')
-rw-r--r--activesupport/lib/active_support/logger_silence.rb25
1 files changed, 4 insertions, 21 deletions
diff --git a/activesupport/lib/active_support/logger_silence.rb b/activesupport/lib/active_support/logger_silence.rb
index 125d81d973..3eb8098c77 100644
--- a/activesupport/lib/active_support/logger_silence.rb
+++ b/activesupport/lib/active_support/logger_silence.rb
@@ -7,39 +7,22 @@ module LoggerSilence
included do
cattr_accessor :silencer
- attr_reader :local_levels
self.silencer = true
end
- def after_initialize
- @local_levels = Concurrent::Map.new(:initial_capacity => 2)
- end
-
- def local_log_id
- Thread.current.__id__
- end
-
- def level
- local_levels[local_log_id] || super
- end
-
# Silences the logger for the duration of the block.
def silence(temporary_level = Logger::ERROR)
if silencer
begin
- old_local_level = local_levels[local_log_id]
- local_levels[local_log_id] = temporary_level
+ old_local_level = local_level
+ self.local_level = temporary_level
yield self
ensure
- if old_local_level
- local_levels[local_log_id] = old_local_level
- else
- local_levels.delete(local_log_id)
- end
+ self.local_level = old_local_level
end
else
yield self
end
end
-end \ No newline at end of file
+end