Class: Tina4::RequestLoggerMiddleware
- Inherits:
-
Object
- Object
- Tina4::RequestLoggerMiddleware
- Defined in:
- lib/tina4/middleware.rb
Overview
RequestLoggerMiddleware – logs method, path, and elapsed time for every request.
Class Method Summary collapse
Class Method Details
.after_log(request, response) ⇒ Object
288 289 290 291 292 293 294 295 296 297 298 299 300 |
# File 'lib/tina4/middleware.rb', line 288 def after_log(request, response) request_key = "#{request.object_id}" start_time = @mutex.synchronize { @request_times.delete(request_key) } if start_time elapsed_ms = ((Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time) * 1000).round(3) else elapsed_ms = 0.0 end Tina4::Log.info("[RequestLogger] #{request.method} #{request.path} -> #{response.status_code} (#{elapsed_ms}ms)") [request, response] end |
.before_log(request, response) ⇒ Object
280 281 282 283 284 285 286 |
# File 'lib/tina4/middleware.rb', line 280 def before_log(request, response) request_key = "#{request.object_id}" @mutex.synchronize do @request_times[request_key] = Process.clock_gettime(Process::CLOCK_MONOTONIC) end [request, response] end |
.reset! ⇒ Object
302 303 304 |
# File 'lib/tina4/middleware.rb', line 302 def reset! @mutex.synchronize { @request_times.clear } end |