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/delayed_job/plugin.rb,
lib/rails_semantic_logger/extensions/rack/server.rb,
lib/rails_semantic_logger/active_job/log_subscriber.rb,
lib/rails_semantic_logger/action_view/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, ActionView, ActiveJob, ActiveRecord, DelayedJob, Rack Classes: Engine, Options

Constant Summary collapse

VERSION =
"4.6.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



28
29
30
31
32
33
# File 'lib/rails_semantic_logger.rb', line 28

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