diff options
author | Jay Mundrawala <jdmundrawala@gmail.com> | 2015-05-08 08:32:42 -0700 |
---|---|---|
committer | Thom May <thom@chef.io> | 2016-08-03 15:24:07 +0100 |
commit | e143c2a6a6c18097cf2e51620ec148646c48069c (patch) | |
tree | 882af48153116b6264b69e03c22f8a841a60fdfa /lib/chef/application.rb | |
parent | 0ebee798d1c7e6ca4c84aa3f468ba12b5f78961d (diff) | |
download | chef-e143c2a6a6c18097cf2e51620ec148646c48069c.tar.gz |
Log cause chain for exceptionsjdm/logexception
Diffstat (limited to 'lib/chef/application.rb')
-rw-r--r-- | lib/chef/application.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/chef/application.rb b/lib/chef/application.rb index c377ffdb36..7396051678 100644 --- a/lib/chef/application.rb +++ b/lib/chef/application.rb @@ -352,6 +352,13 @@ class Chef class << self def debug_stacktrace(e) message = "#{e.class}: #{e}\n#{e.backtrace.join("\n")}" + + cause = e.cause if e.respond_to?(:cause) + while cause != nil + message << "\n\n>>>> Caused by #{cause.class}: #{cause}\n#{cause.backtrace.join("\n")}" + cause = cause.respond_to?(:cause) ? cause.cause : nil + end + chef_stacktrace_out = "Generated at #{Time.now}\n" chef_stacktrace_out += message |