Class: RequestLogger
- Inherits:
-
Object
- Object
- RequestLogger
- Defined in:
- app/middleware/request_logger.rb
Overview
Log request and response details for monitoring and high-level profiling.
Returns a JSON parseable log entry like: [INFO] [RequestLogger] “status_message”:“OK”,“duration_ms”:935,“client_ip”:“172.21.43.210”, “request_id”:“9fd18098-dea3-46f0-83c8-c41852441db3”,“tags”:, “@timestamp”:“2026-02-12T12:10:50.284+00:00”
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, log_level: :info, environment_context: nil) ⇒ RequestLogger
constructor
A new instance of RequestLogger.
Constructor Details
#initialize(app, log_level: :info, environment_context: nil) ⇒ RequestLogger
Returns a new instance of RequestLogger.
14 15 16 17 18 |
# File 'app/middleware/request_logger.rb', line 14 def initialize(app, log_level: :info, environment_context: nil) @app = app @log_level = log_level @environment_context = environment_context end |
Instance Method Details
#call(env) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'app/middleware/request_logger.rb', line 20 def call(env) response, elapsed_ms = elapsed_milliseconds { @app.call(env) } request = ActionDispatch::Request.new(env) log_request(request, response, elapsed_ms) response end |