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
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 |
# File 'lib/tina4/middleware.rb', line 579 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 # v3.13.14: dropped the "[RequestLogger]" prefix for format parity # with Python/PHP/Node — the line is just METHOD PATH -> STATUS (Nms). Tina4::Log.info("#{request.method} #{request.path} -> #{response.status_code} (#{elapsed_ms}ms)") [request, response] end |
.before_log(request, response) ⇒ Object
571 572 573 574 575 576 577 |
# File 'lib/tina4/middleware.rb', line 571 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
595 596 597 |
# File 'lib/tina4/middleware.rb', line 595 def reset! @mutex.synchronize { @request_times.clear } end |