class Rack::ActionLogger::Context
Public Class Methods
new(app)
click to toggle source
# File lib/rack/action_logger/context.rb, line 4 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/action_logger/context.rb, line 8 def call(env) Emitter.new.emit do status_code, headers, body = @app.call(env) capture_rack_log(env, status_code, headers, body) [status_code, headers, body] end end
capture_rack_log(env, status_code, headers, body)
click to toggle source
# File lib/rack/action_logger/context.rb, line 16 def capture_rack_log(env, status_code, headers, body) rack_metrics = Rack::ActionLogger.configuration.rack_metrics.new(env, status_code, headers, body) return if rack_metrics.metrics.nil? Rack::ActionLogger::Container.set_request_log(rack_metrics.metrics, rack_metrics.tag_suffix) Rack::ActionLogger::Container.merge_attributes({ request_id: rack_metrics.request_id }) end