raygun4ruby 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/lib/raygun/client.rb +18 -0
- data/lib/raygun/version.rb +1 -1
- data/lib/raygun.rb +15 -10
- data/lib/raygun4ruby.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ad609c25703e38bf187602b1eeb27ed13f9fdb
|
4
|
+
data.tar.gz: 5af743e3db72f0339669b255328d8256be2c6314
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 070d775307e84cd705e14c6c6a245d4508c8dfcb95991da06ef62e825255a12fde096808e27d65a11bc2c2e20e892270f3e005eb65a4c9280575075ed3a45bdc
|
7
|
+
data.tar.gz: 9b011bb6ca157c9fbcd0283721d40a48e90e857425c7055ad93f1445c98eb9c5103c3d7a6bbb2a6e18059bfbf2181d7b66e14c8a0a5ef65782ac84cf6dfcfbe9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 2.6.0 (25/10/2017)
|
2
|
+
|
3
|
+
Features
|
4
|
+
- Enhanced debug logging to assist in resolving issues from support requests ([#128](https://github.com/MindscapeHQ/raygun4ruby/pull/128))
|
5
|
+
|
1
6
|
## 2.5.0 (04/10/2017)
|
2
7
|
|
3
8
|
Features
|
@@ -5,7 +10,7 @@ Features
|
|
5
10
|
|
6
11
|
Bugfixes
|
7
12
|
- Fix crash when recording breadcrumb with uninitialized store ([#126](https://github.com/MindscapeHQ/raygun4ruby/pull/126))
|
8
|
-
- Make raw data handling more
|
13
|
+
- Make raw data handling more robust and fix in unicorn ([#125](https://github.com/MindscapeHQ/raygun4ruby/pull/125))
|
9
14
|
- Backwards compatible affected_user_identifier_methods ([#120](https://github.com/MindscapeHQ/raygun4ruby/pull/120))
|
10
15
|
|
11
16
|
## 2.4.1 (29/08/2017)
|
data/lib/raygun/client.rb
CHANGED
@@ -90,6 +90,8 @@ module Raygun
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def request_information(env)
|
93
|
+
Raygun.log('retrieving request information')
|
94
|
+
|
93
95
|
return {} if env.nil? || env.empty?
|
94
96
|
{
|
95
97
|
hostName: env["SERVER_NAME"],
|
@@ -118,6 +120,8 @@ module Raygun
|
|
118
120
|
end
|
119
121
|
|
120
122
|
def form_params(env)
|
123
|
+
Raygun.log('retrieving form params')
|
124
|
+
|
121
125
|
params = action_dispatch_params(env) || rack_params(env) || {}
|
122
126
|
filter_params_with_blacklist(params, env["action_dispatch.parameter_filter"])
|
123
127
|
end
|
@@ -132,10 +136,12 @@ module Raygun
|
|
132
136
|
end
|
133
137
|
|
134
138
|
def raw_data(rack_env)
|
139
|
+
Raygun.log('retrieving raw data')
|
135
140
|
request = Rack::Request.new(rack_env)
|
136
141
|
|
137
142
|
return unless Raygun.configuration.record_raw_data
|
138
143
|
return if request.get?
|
144
|
+
Raygun.log('passed raw_data checks')
|
139
145
|
|
140
146
|
input = rack_env['rack.input']
|
141
147
|
|
@@ -158,6 +164,7 @@ module Raygun
|
|
158
164
|
|
159
165
|
# see http://raygun.io/raygun-providers/rest-json-api?v=1
|
160
166
|
def build_payload_hash(exception_instance, env = {}, user = nil)
|
167
|
+
Raygun.log('building payload hash')
|
161
168
|
custom_data = filter_custom_data(env) || {}
|
162
169
|
exception_custom_data = if exception_instance.respond_to?(:raygun_custom_data)
|
163
170
|
exception_instance.raygun_custom_data
|
@@ -180,6 +187,8 @@ module Raygun
|
|
180
187
|
configuration_tags = Raygun.configuration.tags
|
181
188
|
end
|
182
189
|
|
190
|
+
Raygun.log('set tags')
|
191
|
+
|
183
192
|
grouping_key = env.delete(:grouping_key)
|
184
193
|
|
185
194
|
configuration_custom_data = Raygun.configuration.custom_data
|
@@ -189,6 +198,8 @@ module Raygun
|
|
189
198
|
configuration_custom_data
|
190
199
|
end
|
191
200
|
|
201
|
+
Raygun.log('set custom data')
|
202
|
+
|
192
203
|
error_details = {
|
193
204
|
machineName: hostname,
|
194
205
|
version: version,
|
@@ -204,6 +215,8 @@ module Raygun
|
|
204
215
|
store = ::Raygun::Breadcrumbs::Store
|
205
216
|
error_details[:breadcrumbs] = store.stored.map(&:build_payload) if store.any?
|
206
217
|
|
218
|
+
Raygun.log('set details and breadcrumbs')
|
219
|
+
|
207
220
|
error_details.merge!(groupingKey: grouping_key) if grouping_key
|
208
221
|
|
209
222
|
user_details = if affected_user_present?(env)
|
@@ -213,7 +226,10 @@ module Raygun
|
|
213
226
|
end
|
214
227
|
error_details.merge!(user: user_details) unless user_details == nil
|
215
228
|
|
229
|
+
Raygun.log('set user details')
|
230
|
+
|
216
231
|
if Raygun.configuration.filter_payload_with_whitelist
|
232
|
+
Raygun.log('filtering payload with whitelist')
|
217
233
|
error_details = filter_payload_with_whitelist(error_details)
|
218
234
|
end
|
219
235
|
|
@@ -224,6 +240,8 @@ module Raygun
|
|
224
240
|
end
|
225
241
|
|
226
242
|
def create_entry(payload_hash)
|
243
|
+
Raygun.log('sending payload to api')
|
244
|
+
|
227
245
|
self.class.post("/entries", verify_peer: true, verify: true, headers: @headers, body: JSON.generate(payload_hash))
|
228
246
|
end
|
229
247
|
|
data/lib/raygun/version.rb
CHANGED
data/lib/raygun.rb
CHANGED
@@ -32,7 +32,6 @@ module Raygun
|
|
32
32
|
CLIENT_NAME = "Raygun4Ruby Gem"
|
33
33
|
|
34
34
|
class << self
|
35
|
-
|
36
35
|
include Testable
|
37
36
|
|
38
37
|
# Configuration Object (instance of Raygun::Configuration)
|
@@ -40,6 +39,8 @@ module Raygun
|
|
40
39
|
|
41
40
|
def setup
|
42
41
|
yield(configuration)
|
42
|
+
|
43
|
+
log("configuration settings: #{configuration.inspect}")
|
43
44
|
end
|
44
45
|
|
45
46
|
def configuration
|
@@ -55,6 +56,8 @@ module Raygun
|
|
55
56
|
end
|
56
57
|
|
57
58
|
def track_exception(exception_instance, env = {}, user = nil, retry_count = 1)
|
59
|
+
log('tracking exception')
|
60
|
+
|
58
61
|
if configuration.send_in_background
|
59
62
|
track_exception_async(exception_instance, env, user, retry_count)
|
60
63
|
else
|
@@ -78,6 +81,8 @@ module Raygun
|
|
78
81
|
method_name: nil,
|
79
82
|
line_number: nil
|
80
83
|
)
|
84
|
+
log('recording breadcrumb')
|
85
|
+
|
81
86
|
Raygun::Breadcrumbs::Store.record(
|
82
87
|
message: message,
|
83
88
|
category: category,
|
@@ -91,7 +96,9 @@ module Raygun
|
|
91
96
|
end
|
92
97
|
|
93
98
|
def log(message)
|
94
|
-
|
99
|
+
return unless configuration.debug
|
100
|
+
|
101
|
+
configuration.logger.info("[Raygun] #{message}") if configuration.logger
|
95
102
|
end
|
96
103
|
|
97
104
|
def failsafe_log(message)
|
@@ -112,17 +119,19 @@ module Raygun
|
|
112
119
|
future = Concurrent::Future.execute { track_exception_sync(*args) }
|
113
120
|
future.add_observer(lambda do |_, value, reason|
|
114
121
|
if value == nil || value.response.code != "202"
|
115
|
-
log("
|
122
|
+
log("unexpected response from Raygun, could indicate error: #{value.inspect}")
|
116
123
|
end
|
117
124
|
end, :call)
|
118
125
|
end
|
119
126
|
|
120
127
|
def track_exception_sync(exception_instance, env, user, retry_count)
|
121
128
|
if should_report?(exception_instance)
|
122
|
-
log(
|
129
|
+
log('attempting to send exception')
|
123
130
|
Client.new.track_exception(exception_instance, env, user)
|
124
131
|
end
|
125
132
|
rescue Exception => e
|
133
|
+
log('error sending exception to raygun, see failsafe logger for more information')
|
134
|
+
|
126
135
|
if configuration.failsafe_logger
|
127
136
|
failsafe_log("Problem reporting exception to Raygun: #{e.class}: #{e.message}\n\n#{e.backtrace.join("\n")}")
|
128
137
|
end
|
@@ -147,17 +156,13 @@ module Raygun
|
|
147
156
|
|
148
157
|
def should_report?(exception)
|
149
158
|
if configuration.silence_reporting
|
150
|
-
|
151
|
-
log('[Raygun] skipping reporting because Configuration.silence_reporting is enabled')
|
152
|
-
end
|
159
|
+
log('skipping reporting because Configuration.silence_reporting is enabled')
|
153
160
|
|
154
161
|
return false
|
155
162
|
end
|
156
163
|
|
157
164
|
if configuration.ignore.flatten.include?(exception.class.to_s)
|
158
|
-
|
159
|
-
log("[Raygun] skipping reporting of exception #{exception.class} because it is in the ignore list")
|
160
|
-
end
|
165
|
+
log("skipping reporting of exception #{exception.class} because it is in the ignore list")
|
161
166
|
|
162
167
|
return false
|
163
168
|
end
|
data/lib/raygun4ruby.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require "raygun"
|
1
|
+
require "raygun"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raygun4ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mindscape
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-10-
|
12
|
+
date: 2017-10-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|