Class: Logtail::Integrations::ActionController::LogSubscriber

Inherits:
Integrator
  • Object
show all
Defined in:
lib/logtail-rails/action_controller/log_subscriber.rb,
lib/logtail-rails/action_controller/log_subscriber/logtail_log_subscriber.rb

Overview

Responsible for removing the default ActionController::LogSubscriber and installing the LogtailLogSubscriber

Defined Under Namespace

Classes: LogtailLogSubscriber

Instance Method Summary collapse

Constructor Details

#initializeLogSubscriber

Returns a new instance of LogSubscriber.



9
10
11
12
13
14
15
# File 'lib/logtail-rails/action_controller/log_subscriber.rb', line 9

def initialize
  require "action_controller"
  require "action_controller/log_subscriber"
  require "logtail-rails/action_controller/log_subscriber/logtail_log_subscriber"
rescue LoadError => e
  raise RequirementNotMetError.new(e.message)
end

Instance Method Details

#integrate!Object



17
18
19
20
21
22
# File 'lib/logtail-rails/action_controller/log_subscriber.rb', line 17

def integrate!
  return true if Logtail::Integrations::Rails::ActiveSupportLogSubscriber.subscribed?(:action_controller, LogtailLogSubscriber)

  Logtail::Integrations::Rails::ActiveSupportLogSubscriber.unsubscribe!(:action_controller, ::ActionController::LogSubscriber)
  LogtailLogSubscriber.attach_to(:action_controller)
end