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/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, ActiveRecord, DelayedJob, Rack Classes: Engine, Options

Constant Summary collapse

VERSION =
'4.4.2'.freeze

Class Method Summary collapse

Class Method Details

.swap_subscriber(old_class, new_class, notifier) ⇒ Object

Swap an existing subscriber with a new one



25
26
27
28
29
30
# File 'lib/rails_semantic_logger.rb', line 25

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