Class: Rack::SlowLog
- Inherits:
-
Object
- Object
- Rack::SlowLog
- Defined in:
- lib/rack/slow_log.rb,
lib/rack/slow_log/logger.rb,
lib/rack/slow_log/version.rb
Defined Under Namespace
Classes: Logger
Constant Summary collapse
- VERSION =
'0.0.1'
Instance Method Summary collapse
- #_call(env) ⇒ Object
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ SlowLog
constructor
A new instance of SlowLog.
Constructor Details
#initialize(app, options = {}) ⇒ SlowLog
Returns a new instance of SlowLog.
6 7 8 9 10 11 |
# File 'lib/rack/slow_log.rb', line 6 def initialize(app, = {}) @app = app @long_request_time = .fetch(:long_request_time, 5) @slow_log = .fetch(:slow_log, 'log/slow.log') @one_log_per_request = .fetch(:one_log_per_request, false) end |
Instance Method Details
#_call(env) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# 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) ⇒ Object
13 14 15 |
# File 'lib/rack/slow_log.rb', line 13 def call(env) dup._call(env) end |