Class: Julewire::Rails::Railtie
- Inherits:
-
Rails::Railtie
- Object
- Rails::Railtie
- Julewire::Rails::Railtie
- Defined in:
- lib/julewire/rails/railtie.rb
Class Method Summary collapse
- .configure_exception_logging(app, settings) ⇒ Object
- .finish_initialization!(app) ⇒ Object
- .initialize_exception_logging!(app) ⇒ Object
- .initialize_logger!(app) ⇒ Object
- .initialize_request_middleware!(app) ⇒ Object
- .install_request_middleware(app, settings, log_tags = nil) ⇒ Object
- .install_subscribers(settings) ⇒ Object
- .log_rescued_responses_value(settings) ⇒ Object
Class Method Details
.configure_exception_logging(app, settings) ⇒ Object
79 80 81 82 |
# File 'lib/julewire/rails/railtie.rb', line 79 def configure_exception_logging(app, settings) value = log_rescued_responses_value(settings) app.config.action_dispatch.log_rescued_responses = value unless value.nil? end |
.finish_initialization!(app) ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/julewire/rails/railtie.rb', line 51 def finish_initialization!(app) settings = validated_settings(app) OutputRequirement.check!(settings) LifecycleHooks.install!(settings) install_subscribers(settings) DebugExceptionLogSilencer.install!(settings) end |
.initialize_exception_logging!(app) ⇒ Object
46 47 48 49 |
# File 'lib/julewire/rails/railtie.rb', line 46 def initialize_exception_logging!(app) settings = validated_settings(app) configure_exception_logging(app, settings) end |
.initialize_logger!(app) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/julewire/rails/railtie.rb', line 28 def initialize_logger!(app) settings = validated_settings(app) return unless settings.logger? logger = Logger.new(name: settings.logger_name, source: settings.source) logger.level = app.config.log_level logger.formatter = app.config.log_formatter app.config.logger = ::ActiveSupport::TaggedLogging.new(logger) LoggerOutputs.install! end |
.initialize_request_middleware!(app) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/julewire/rails/railtie.rb', line 39 def initialize_request_middleware!(app) settings = validated_settings(app) return unless settings.request_middleware? install_request_middleware(app, settings, app.config.) end |
.install_request_middleware(app, settings, log_tags = nil) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/julewire/rails/railtie.rb', line 71 def install_request_middleware(app, settings, = nil) operation = settings.replace_rack_logger? ? :swap : :insert_after app.config.middleware.public_send(operation, ::Rails::Rack::Logger, RequestMiddleware, settings, ) rescue StandardError => e IntegrationHealth.record_failure(e, component: :request_middleware, action: :install) raise end |
.install_subscribers(settings) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/julewire/rails/railtie.rb', line 59 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
84 85 86 87 88 |
# File 'lib/julewire/rails/railtie.rb', line 84 def log_rescued_responses_value(settings) return settings.log_rescued_responses unless settings.log_rescued_responses == :auto false if settings.logger? && settings.request_summary? end |