Class: Julewire::Rails::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/julewire/rails/railtie.rb

Class Method Summary collapse

Class Method Details

.configure_exception_logging(app, settings) ⇒ Object



67
68
69
70
# File 'lib/julewire/rails/railtie.rb', line 67

def configure_exception_logging(app, settings)
  value = log_rescued_responses_value(settings)
  app.config.action_dispatch.log_rescued_responses = value unless value.nil?
end

.install_request_middleware(app, settings, log_tags = nil) ⇒ Object



59
60
61
62
63
64
65
# File 'lib/julewire/rails/railtie.rb', line 59

def install_request_middleware(app, settings, log_tags = nil)
  operation = settings.replace_rack_logger? ? :swap : :insert_after
  app.config.middleware.public_send(operation, ::Rails::Rack::Logger, RequestMiddleware, settings, log_tags)
rescue StandardError => e
  IntegrationHealth.record_failure(e, component: :request_middleware, action: :install)
  raise
end

.install_subscribers(settings) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/julewire/rails/railtie.rb', line 47

def install_subscribers(settings)
  Subscribers::ControllerResponse.install!(settings)
  settings.error_reports? ? Subscribers::Error.install!(settings) : Subscribers::Error.reset!
  Subscribers::RenderedException.install!(settings)
  if settings.structured_events?
    Subscribers::Event.install!(settings)
    LogSubscriberSilencer.silence! if settings.silence_log_subscribers?
  else
    Subscribers::Event.reset!
  end
end

.log_rescued_responses_value(settings) ⇒ Object



72
73
74
75
76
77
78
79
80
# File 'lib/julewire/rails/railtie.rb', line 72

def log_rescued_responses_value(settings)
  if settings.log_rescued_responses == :auto
    return false if settings.logger? && settings.request_summary?

    return
  end

  settings.log_rescued_responses
end