Module: RailsSemanticLogger

Defined in:
lib/rails_semantic_logger.rb,
lib/rails_semantic_logger/engine.rb,
lib/rails_semantic_logger/options.rb,
lib/rails_semantic_logger/version.rb,
lib/rails_semantic_logger/rack/logger.rb,
lib/rails_semantic_logger/sidekiq/defaults.rb,
lib/rails_semantic_logger/sidekiq/loggable.rb,
lib/rails_semantic_logger/delayed_job/plugin.rb,
lib/rails_semantic_logger/sidekiq/job_logger.rb,
lib/rails_semantic_logger/extensions/rack/server.rb,
lib/rails_semantic_logger/extensions/rackup/server.rb,
lib/rails_semantic_logger/active_job/log_subscriber.rb,
lib/rails_semantic_logger/action_view/log_subscriber.rb,
lib/rails_semantic_logger/action_mailer/log_subscriber.rb,
lib/rails_semantic_logger/active_record/log_subscriber.rb,
lib/rails_semantic_logger/action_controller/log_subscriber.rb

Defined Under Namespace

Modules: ActionController, ActionMailer, ActionView, ActiveJob, ActiveRecord, DelayedJob, Rack, Rackup, Sidekiq Classes: Engine, Options

Constant Summary collapse

VERSION =
"4.19.0".freeze

Class Method Summary collapse

Class Method Details

.swap_subscriber(old_class, new_class, notifier) ⇒ Object

Swap an existing subscriber with a new one



43
44
45
46
47
48
# File 'lib/rails_semantic_logger.rb', line 43

def self.swap_subscriber(old_class, new_class, notifier)
  subscribers = ActiveSupport::LogSubscriber.subscribers.select { |s| s.is_a?(old_class) }
  subscribers.each { |subscriber| unattach(subscriber) }

  new_class.attach_to(notifier)
end