Class: Rack::Reqorder::Logger
- Inherits:
-
Object
- Object
- Rack::Reqorder::Logger
- Includes:
- Models
- Defined in:
- lib/rack/reqorder/logger.rb
Instance Method Summary collapse
- #call(environment) ⇒ Object
-
#initialize(app) ⇒ Logger
constructor
A new instance of Logger.
Constructor Details
#initialize(app) ⇒ Logger
Returns a new instance of Logger.
5 6 7 |
# File 'lib/rack/reqorder/logger.rb', line 5 def initialize(app) @app = app end |
Instance Method Details
#call(environment) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rack/reqorder/logger.rb', line 9 def call(environment) rack_request = Rack::Request.new(environment.clone) http_request = record_request(rack_request) if conf.request_monitoring start = Time.now.to_f begin status, headers, body = @app.call(environment) rack_response = Rack::Response.new(body, status, headers) rescue => exception rack_response = log_exception(exception, rack_request) if conf.exception_monitoring raise exception ensure record_statistics(rack_request, rack_response, Time.now.to_f - start) end record_response(rack_response, http_request) if conf.request_monitoring return [status, headers, body] end |