Class: Lattice::RequestLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/lattice/request_logger.rb

Instance Method Summary collapse

Instance Method Details

#call(*args) ⇒ Object



3
4
5
# File 'lib/lattice/request_logger.rb', line 3

def call(*args)
  handle_event Webmachine::Events::InstrumentedEvent.new(*args)
end

#handle_event(event) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/lattice/request_logger.rb', line 7

def handle_event(event)
  request  = event.payload[:request]
  resource = event.payload[:resource]
  code     = event.payload[:code]
  uri      = URI(request.uri)

  # Translate extended HTTP verbs via the magical query parameter
  if request.method == "POST" && request.query['_method']
    method = request.query['_method']
  else
    method = request.method
  end

  Lattice.logger.info "\"%s %s\" %d %.1fms (%s)" % [
    method, uri.path, code, event.duration, resource
  ]
end