whoops_rails_logger 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,15 +1,17 @@
1
+ require "rack/request"
2
+
1
3
  module WhoopsRailsLogger
2
4
  class ExceptionStrategy < WhoopsLogger::Strategy
3
5
  attr_accessor :service, :environment
4
6
  def initialize(strategy_name)
5
7
  super
6
-
8
+
7
9
  self.service = ::Rails.application.class.name.split("::").first.downcase + ".web"
8
10
  self.environment = ::Rails.env
9
-
11
+
10
12
  add_message_builders
11
13
  end
12
-
14
+
13
15
  def add_message_builders
14
16
  self.add_message_builder(:basic_details) do |message, raw_data|
15
17
  message.service = self.service
@@ -18,18 +20,20 @@ module WhoopsRailsLogger
18
20
  message.message = raw_data[:exception].message
19
21
  message.event_time = Time.now
20
22
  end
21
-
23
+
22
24
  self.add_message_builder(:details) do |message, raw_data|
23
25
  exception = raw_data[:exception]
24
26
  rack_env = raw_data[:rack_env]
25
-
27
+ rack_req = ::Rack::Request.new(rack_env)
28
+
26
29
  details = {}
27
30
  details[:backtrace] = exception.backtrace.collect{ |line|
28
31
  line.sub(/^#{ENV['GEM_HOME']}/, '$GEM_HOME').sub(/^#{Rails.root}/, '$Rails.root')
29
32
  }
30
33
 
31
- details[:http_host] = rack_env["HTTP_HOST"]
34
+ details[:http_host] = rack_env["HTTP_HOST"]
32
35
  details[:params] = rack_env["action_dispatch.request.parameters"]
36
+ details[:raw_post_data] = rack_env["RAW_POST_DATA"]
33
37
  details[:controller] = details[:params][:controller] if details[:params]
34
38
  details[:action] = details[:params][:action] if details[:params]
35
39
  details[:query_string] = rack_env["QUERY_STRING"]
@@ -38,6 +42,8 @@ module WhoopsRailsLogger
38
42
  details[:server_name] = rack_env["SERVER_NAME"]
39
43
  details[:session] = rack_env["rack.session"]
40
44
  details[:env] = ENV.to_hash
45
+ details[:url] = rack_req.url
46
+
41
47
  message.details = details
42
48
  end
43
49
 
metadata CHANGED
@@ -1,149 +1,150 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: whoops_rails_logger
3
- version: !ruby/object:Gem::Version
4
- hash: 59
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.17
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 16
10
- version: 0.1.16
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Daniel Higginbotham
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-01-29 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-03-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: whoops_logger
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - "="
27
- - !ruby/object:Gem::Version
28
- hash: 19
29
- segments:
30
- - 0
31
- - 1
32
- - 4
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
33
21
  version: 0.1.4
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rails
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
40
25
  none: false
41
- requirements:
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.1.4
30
+ - !ruby/object:Gem::Dependency
31
+ name: rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
42
35
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 5
45
- segments:
46
- - 3
47
- version: "3"
36
+ - !ruby/object:Gem::Version
37
+ version: '3'
48
38
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rake
52
39
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - "="
57
- - !ruby/object:Gem::Version
58
- hash: 49
59
- segments:
60
- - 0
61
- - 8
62
- - 7
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
63
53
  version: 0.8.7
64
54
  type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: rspec-rails
68
55
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.8.7
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec-rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
78
70
  type: :development
79
- version_requirements: *id004
80
- - !ruby/object:Gem::Dependency
81
- name: ruby-debug
82
71
  prerelease: false
83
- requirement: &id005 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- hash: 3
89
- segments:
90
- - 0
91
- version: "0"
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: ruby-debug
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
92
86
  type: :development
93
- version_requirements: *id005
94
- - !ruby/object:Gem::Dependency
95
- name: fakeweb
96
87
  prerelease: false
97
- requirement: &id006 !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 3
103
- segments:
104
- - 0
105
- version: "0"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: fakeweb
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
106
102
  type: :development
107
- version_requirements: *id006
108
- - !ruby/object:Gem::Dependency
109
- name: sqlite3
110
103
  prerelease: false
111
- requirement: &id007 !ruby/object:Gem::Requirement
112
- none: false
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- hash: 3
117
- segments:
118
- - 0
119
- version: "0"
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: sqlite3
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
120
118
  type: :development
121
- version_requirements: *id007
122
- - !ruby/object:Gem::Dependency
123
- name: capybara
124
119
  prerelease: false
125
- requirement: &id008 !ruby/object:Gem::Requirement
126
- none: false
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- hash: 15
131
- segments:
132
- - 0
133
- - 4
134
- - 0
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: capybara
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
135
133
  version: 0.4.0
136
134
  type: :development
137
- version_requirements: *id008
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 0.4.0
138
142
  description: A Whoops Logger for Rails 3 apps.
139
143
  email:
140
144
  executables: []
141
-
142
145
  extensions: []
143
-
144
146
  extra_rdoc_files: []
145
-
146
- files:
147
+ files:
147
148
  - lib/whoops_rails_logger/evidence.rb
148
149
  - lib/whoops_rails_logger/exception_strategy.rb
149
150
  - lib/whoops_rails_logger/rack.rb
@@ -155,37 +156,26 @@ files:
155
156
  - README.asciidoc
156
157
  homepage:
157
158
  licenses: []
158
-
159
159
  post_install_message:
160
160
  rdoc_options: []
161
-
162
- require_paths:
161
+ require_paths:
163
162
  - lib
164
- required_ruby_version: !ruby/object:Gem::Requirement
163
+ required_ruby_version: !ruby/object:Gem::Requirement
165
164
  none: false
166
- requirements:
167
- - - ">="
168
- - !ruby/object:Gem::Version
169
- hash: 3
170
- segments:
171
- - 0
172
- version: "0"
173
- required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ! '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
170
  none: false
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- hash: 3
179
- segments:
180
- - 0
181
- version: "0"
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
182
175
  requirements: []
183
-
184
176
  rubyforge_project:
185
177
  rubygems_version: 1.8.24
186
178
  signing_key:
187
179
  specification_version: 3
188
180
  summary: A Whoops Logger for Rails 3 apps.
189
181
  test_files: []
190
-
191
- has_rdoc: