class Rack::SlowLog

Constants

VERSION

Public Class Methods

new(app, options = {}) click to toggle source
# File lib/rack/slow_log.rb, line 6
def initialize(app, options = {})
  @app = app
  @long_request_time = options.fetch(:long_request_time, 5)
  @slow_log = options.fetch(:slow_log, 'log/slow.log')
  @one_log_per_request = options.fetch(:one_log_per_request, false)
end

Public Instance Methods

_call(env) click to toggle source
# File lib/rack/slow_log.rb, line 17
def _call(env)
  logger = Logger.new(@long_request_time, @slow_log, @one_log_per_request)

  logger.request_start!
  env['rack.slow_log'] = logger
  app_response = @app.call(env)
  logger.request_end!

  logger.save

  app_response
end
call(env) click to toggle source
# File lib/rack/slow_log.rb, line 13
def call(env)
  dup._call(env)
end