diff options
author | danielsdeleo <dan@opscode.com> | 2013-10-14 16:53:47 -0700 |
---|---|---|
committer | danielsdeleo <dan@opscode.com> | 2013-10-16 13:53:37 -0700 |
commit | 3daf72e03219ef19fe941df32b5aef9ddea1f091 (patch) | |
tree | 6b4c9a1cbf2e94dbfd62e17fc65d517c2b514f86 /lib/chef/application.rb | |
parent | 1108f332624b2eb138677ec55110162f8de9a208 (diff) | |
download | chef-3daf72e03219ef19fe941df32b5aef9ddea1f091.tar.gz |
Make configuration errors more informative
Diffstat (limited to 'lib/chef/application.rb')
-rw-r--r-- | lib/chef/application.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/chef/application.rb b/lib/chef/application.rb index d6c3a028f5..9be238604e 100644 --- a/lib/chef/application.rb +++ b/lib/chef/application.rb @@ -217,10 +217,11 @@ class Chef::Application def apply_config(config_content, config_file_path) Chef::Config.from_string(config_content, config_file_path) - rescue Chef::Exceptions::ConfigurationError => error - Chef::Application.fatal!("Error processing config file #{config_file_path} with error #{error.message}", 2) rescue Exception => error - Chef::Application.fatal!("Unknown error processing config file #{config_file_path} with error #{error.message}", 2) + Chef::Log.fatal("Configuration error #{error.class}: #{error.message}") + filtered_trace = error.backtrace.grep(/#{Regexp.escape(config_file_path)}/) + filtered_trace.each {|line| Chef::Log.fatal(" " + line + "\n")} + Chef::Application.fatal!("Aborting due to error in '#{config_file_path}'", 2) end class << self |