Skip to content

Commit 0c09805

Browse files
authored
Merge pull request reidmorrison#252 from lucthev/master
Unsubscribe all listeners in Rails >= 7.1
2 parents 69c98bf + f6bc176 commit 0c09805

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

lib/rails_semantic_logger.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def self.swap_subscriber(old_class, new_class, notifier)
4949

5050
def self.unattach(subscriber)
5151
subscriber_patterns(subscriber).each do |pattern|
52-
ActiveSupport::Notifications.notifier.listeners_for(pattern).each do |sub|
52+
listeners_for(ActiveSupport::Notifications.notifier, pattern).each do |sub|
5353
next unless sub.instance_variable_get(:@delegate) == subscriber
5454

5555
ActiveSupport::Notifications.unsubscribe(sub)
@@ -67,7 +67,15 @@ def self.subscriber_patterns(subscriber)
6767
end
6868
end
6969

70-
private_class_method :subscriber_patterns, :unattach
70+
def self.listeners_for(notifier, pattern)
71+
if notifier.respond_to?(:all_listeners_for) # Rails >= 7.1
72+
notifier.all_listeners_for(pattern)
73+
else
74+
notifier.listeners_for(pattern)
75+
end
76+
end
77+
78+
private_class_method :listeners_for, :subscriber_patterns, :unattach
7179
end
7280

7381
require("rails_semantic_logger/extensions/mongoid/config") if defined?(Mongoid)

0 commit comments

Comments
 (0)