This method loops through log_subscribers and modifies them simultaneously. So some subscribers can be accidentally skipped
|
def remove_existing_log_subscriptions |
|
::ActiveSupport::LogSubscriber.log_subscribers.each do |subscriber| |
|
case subscriber.class.name |
|
when 'ActionView::LogSubscriber' |
|
unsubscribe(:action_view, subscriber) |
|
when 'ActionController::LogSubscriber' |
|
unsubscribe(:action_controller, subscriber) |
|
when 'ActionMailer::LogSubscriber' |
|
unsubscribe(:action_mailer, subscriber) |
|
when 'ActiveRecord::LogSubscriber' |
|
unsubscribe(:active_record, subscriber) |
|
when 'ActiveJob::LogSubscriber' # For Rails 6 |
|
unsubscribe(:active_job, subscriber) |
|
when 'ActiveJob::Logging::LogSubscriber' # For Rails 5 |
|
unsubscribe(:active_job, subscriber) |
|
end |
|
end |
|
end |
This method loops through
log_subscribersand modifies them simultaneously. So some subscribers can be accidentally skippedlogstasher/lib/logstasher.rb
Lines 30 to 47 in 0fdc1b9