exception_handling 1.2.0 → 1.2.1
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/lib/exception_handling.rb +14 -7
- data/lib/exception_handling/version.rb +1 -1
- data/semaphore_ci/setup.sh +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1a9a9df6c3ca8dd4f61b7e35f62271deec138d9
|
4
|
+
data.tar.gz: 8fb61925651d34146c4d86394f4ebb638d45032c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d43b9121fbffa0b17b2b9ac117d719a8409300c956eb961624e5550dc908b7f6aae0697a7e196ad95d4f9308bbfd137f8dbd0fa937e2f4d316809c9dbf452be3
|
7
|
+
data.tar.gz: 6be898b1d470b87e43e5164954ad2e51e68b6bf01477677da1df75bd50781303e56b14587734162844ebdc4320b70a6732a5e0f475ca0add816911d9b46f19a3
|
data/lib/exception_handling.rb
CHANGED
@@ -247,7 +247,7 @@ EOF
|
|
247
247
|
#
|
248
248
|
def write_exception_to_log(ex, exception_context, timestamp)
|
249
249
|
ActiveSupport::Deprecation.silence do
|
250
|
-
ExceptionHandling.logger.fatal("\n(Error:#{timestamp}) #{ex.class} #{exception_context} (#{ex.message}):\n " + clean_backtrace(ex).join("\n ") + "\n\n")
|
250
|
+
ExceptionHandling.logger.fatal("\n(Error:#{timestamp}) #{ex.class} #{exception_context} (#{encode_utf8(ex.message)}):\n " + clean_backtrace(ex).join("\n ") + "\n\n")
|
251
251
|
end
|
252
252
|
end
|
253
253
|
|
@@ -255,7 +255,7 @@ EOF
|
|
255
255
|
# Log exception to honeybadger.io.
|
256
256
|
#
|
257
257
|
def send_exception_to_honeybadger(ex, exception_context, timestamp)
|
258
|
-
custom_message = "(Error:#{timestamp}) #{ex.class} #{exception_context} (#{ex.message}): " + clean_backtrace(ex).join(" ")
|
258
|
+
custom_message = "(Error:#{timestamp}) #{ex.class} #{exception_context} (#{encode_utf8(ex.message)}): " + clean_backtrace(ex).join(" ")
|
259
259
|
Honeybadger.notify(ex, context: { custom_message: custom_message })
|
260
260
|
end
|
261
261
|
|
@@ -336,7 +336,7 @@ EOF
|
|
336
336
|
ex = make_exception(exception_or_string)
|
337
337
|
log_error(ex, exception_context)
|
338
338
|
begin
|
339
|
-
ExceptionHandling::Sensu.generate_event(alert_name, exception_context.to_s + "\n" + ex.message.to_s)
|
339
|
+
ExceptionHandling::Sensu.generate_event(alert_name, exception_context.to_s + "\n" + encode_utf8(ex.message.to_s))
|
340
340
|
rescue => send_ex
|
341
341
|
log_error(send_ex, 'ExceptionHandling.alert_warning')
|
342
342
|
end
|
@@ -383,7 +383,7 @@ EOF
|
|
383
383
|
ExceptionHandling.custom_data_hook.call(data)
|
384
384
|
rescue Exception => ex
|
385
385
|
# can't call log_error here or we will blow the call stack
|
386
|
-
log_info( "Unable to execute custom custom_data_hook callback. #{ex.message} #{ex.backtrace.each {|l| "#{l}\n"}}" )
|
386
|
+
log_info( "Unable to execute custom custom_data_hook callback. #{encode_utf8(ex.message)} #{ex.backtrace.each {|l| "#{l}\n"}}" )
|
387
387
|
end
|
388
388
|
end
|
389
389
|
|
@@ -417,7 +417,7 @@ EOF
|
|
417
417
|
ExceptionHandling.post_log_error_hook.call(exception_data, exception)
|
418
418
|
rescue Exception => ex
|
419
419
|
# can't call log_error here or we will blow the call stack
|
420
|
-
log_info( "Unable to execute custom log_error callback. #{ex.message} #{ex.backtrace.each {|l| "#{l}\n"}}" )
|
420
|
+
log_info( "Unable to execute custom log_error callback. #{encode_utf8(ex.message)} #{ex.backtrace.each {|l| "#{l}\n"}}" )
|
421
421
|
end
|
422
422
|
end
|
423
423
|
|
@@ -598,13 +598,13 @@ EOF
|
|
598
598
|
def exception_to_data( exception, exception_context, timestamp )
|
599
599
|
data = ActiveSupport::HashWithIndifferentAccess.new
|
600
600
|
data[:error_class] = exception.class.name
|
601
|
-
data[:error_string]= "#{data[:error_class]}: #{exception.message}"
|
601
|
+
data[:error_string]= "#{data[:error_class]}: #{encode_utf8(exception.message)}"
|
602
602
|
data[:timestamp] = timestamp
|
603
603
|
data[:backtrace] = clean_backtrace(exception)
|
604
604
|
if exception_context && exception_context.is_a?(Hash)
|
605
605
|
# if we are a hash, then we got called from the DebugExceptions rack middleware filter
|
606
606
|
# and we need to do some things different to get the info we want
|
607
|
-
data[:error] = "#{data[:error_class]}: #{exception.message}"
|
607
|
+
data[:error] = "#{data[:error_class]}: #{encode_utf8(exception.message)}"
|
608
608
|
data[:session] = exception_context['rack.session']
|
609
609
|
data[:environment] = exception_context
|
610
610
|
else
|
@@ -641,5 +641,12 @@ EOF
|
|
641
641
|
end unless h.nil?
|
642
642
|
result
|
643
643
|
end
|
644
|
+
|
645
|
+
def encode_utf8(string)
|
646
|
+
string.encode('UTF-8',
|
647
|
+
replace: '?',
|
648
|
+
undef: :replace,
|
649
|
+
invalid: :replace)
|
650
|
+
end
|
644
651
|
end
|
645
652
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exception_handling
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Colin Kelley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- lib/exception_handling/sensu.rb
|
176
176
|
- lib/exception_handling/testing.rb
|
177
177
|
- lib/exception_handling/version.rb
|
178
|
+
- semaphore_ci/setup.sh
|
178
179
|
- test/test_helper.rb
|
179
180
|
- test/unit/exception_handling/exception_catalog_test.rb
|
180
181
|
- test/unit/exception_handling/exception_description_test.rb
|