Class: Messages::HerokuWeb::Rails

Inherits:
MessageTypeMatcher show all
Defined in:
lib/log_query/messages/heroku_web/rails.rb

Overview

2016-10-20T17:19:51.396574+00:00 app: Started HEAD “/” for 127.0.0.1 at 2016-10-20 17:19:51 0000 2016-10-20T17:19:51.50878100:00 app: Processing by HomeController#index as HTML 2016-10-20T17:19:51.575265+00:00 app: Rendered home/index.html.erb (53.0ms) 2016-10-20T17:19:51.575470+00:00 app: Completed 500 Internal Server Error in 67ms (ActiveRecord: 0.0ms)

Constant Summary collapse

ATTRIBUTES =
{
  method: /Started ([^\s]+)/,
  route: /"([^"]+)"/,
  ip_address: /for (([0-9]{1,3}\.){4})/,
  timestamp: /at (.*)$/,
  controller: /Processing by ([^\s]+)/,
  format: /as (.*)$/,
  template: /Rendered ([^\s]+)/,
  render_time: /\(([0-9\.]+?)ms\)/,
  status: /Completed ([^\s]+)/,
  total_time: /in ([0-9\.]+)ms/,
  active_record_time: /ActiveRecord: ([0-9\.])ms/
}

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from MessageTypeMatcher

===

Constructor Details

#initialize(message) ⇒ Rails

Returns a new instance of Rails.



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/log_query/messages/heroku_web/rails.rb', line 31

def initialize(message)
  ATTRIBUTES.
    select { |attr, regexp| message.match(regexp) }.
    map do |attr, regexp|
      value = message.match(regexp)[0]
      value = Integer(value) rescue value
      [attr, value]
    end.each do |(key, value)|
      instance_variable_set("@#{key}", value)
    end
end

Class Method Details

.attributesObject



27
28
29
# File 'lib/log_query/messages/heroku_web/rails.rb', line 27

def self.attributes
  ATTRIBUTES.keys
end