Class: Rack::AccessLog

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/access_log.rb,
lib/rack/access_log/version.rb

Constant Summary collapse

VERSION =
"0.2.0"

Instance Method Summary collapse

Constructor Details

#initialize(app, logger, config = {}) ⇒ AccessLog

Returns a new instance of AccessLog.



7
8
9
10
11
# File 'lib/rack/access_log.rb', line 7

def initialize(app, logger, config = {})
  @app = app
  @logger = logger
  configure!(config)
end

Instance Method Details

#call(env) ⇒ Object



13
14
15
16
17
18
# File 'lib/rack/access_log.rb', line 13

def call(env)
  message_base = create_log_message_base(env)
  status, header, body_lines, realtime = next_middleware_call_with_benchmarking(env)
  @logger.info(message_base.merge(statistics_from(status, realtime))) if tracked?(message_base[:request_path])
  [status, header, body_lines]
end