diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2016-01-01 15:52:26 -0200 |
---|---|---|
committer | Rafael França <rafaelmfranca@gmail.com> | 2016-01-01 15:52:26 -0200 |
commit | 307b6b5e1383480fe1de4900be1d456853197c99 (patch) | |
tree | f8a3c91bd01986296791c2b1bdc1c3f8d3e08050 /activesupport | |
parent | 012f42a8b9b9576791109e435616a5dc5250c47b (diff) | |
parent | 3e48bfd49730331d8f09d4d96bb9a58959017a9c (diff) | |
download | rails-307b6b5e1383480fe1de4900be1d456853197c99.tar.gz rails-307b6b5e1383480fe1de4900be1d456853197c99.tar.bz2 rails-307b6b5e1383480fe1de4900be1d456853197c99.zip |
Merge pull request #22856 from rthbound/adds-exception-object-to-instrumenter-payload
Adds exception object to instrumenter's payload
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/CHANGELOG.md | 6 | ||||
-rw-r--r-- | activesupport/lib/active_support/notifications/instrumenter.rb | 1 | ||||
-rw-r--r-- | activesupport/test/notifications_test.rb | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/activesupport/CHANGELOG.md b/activesupport/CHANGELOG.md index bd018ec825..4963dd25d1 100644 --- a/activesupport/CHANGELOG.md +++ b/activesupport/CHANGELOG.md @@ -515,4 +515,10 @@ *Logan Leger* +* Adds `:exception_object` key to ActiveSupport::Notifications::Instrumenter payload when an exception is raised + + Adds new key/value pair to payload when an exception is raised: e.g. `:exception_object => #<RuntimeError: FAIL>` + + *Ryan T. Hosford* + Please check [4-2-stable](https://github.com/rails/rails/blob/4-2-stable/activesupport/CHANGELOG.md) for previous changes. diff --git a/activesupport/lib/active_support/notifications/instrumenter.rb b/activesupport/lib/active_support/notifications/instrumenter.rb index 67f2ee1a7f..91f94cb2d7 100644 --- a/activesupport/lib/active_support/notifications/instrumenter.rb +++ b/activesupport/lib/active_support/notifications/instrumenter.rb @@ -21,6 +21,7 @@ module ActiveSupport yield payload rescue Exception => e payload[:exception] = [e.class.name, e.message] + payload[:exception_object] = e raise e ensure finish_with_state listeners_state, name, payload diff --git a/activesupport/test/notifications_test.rb b/activesupport/test/notifications_test.rb index d9cc392ac9..1cb17e6197 100644 --- a/activesupport/test/notifications_test.rb +++ b/activesupport/test/notifications_test.rb @@ -232,7 +232,7 @@ module Notifications assert_equal 1, @events.size assert_equal Hash[:payload => "notifications", - :exception => ["RuntimeError", "FAIL"]], @events.last.payload + :exception => ["RuntimeError", "FAIL"], :exception_object => e], @events.last.payload end def test_event_is_pushed_even_without_block |