mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
Merge pull request #1186 from townsen/clean_trace
Remove unnecessary entries from default backtrace
This commit is contained in:
commit
828f81187a
3 changed files with 28 additions and 1 deletions
15
CHANGELOG.md
15
CHANGELOG.md
|
@ -6,6 +6,21 @@ Reverse Chronological Order:
|
||||||
|
|
||||||
https://github.com/capistrano/capistrano/compare/v3.2.1...HEAD
|
https://github.com/capistrano/capistrano/compare/v3.2.1...HEAD
|
||||||
|
|
||||||
|
* Enhancement (@townsen): Remove unnecessary entries from default backtrace
|
||||||
|
|
||||||
|
When the `--backtrace` (or `--trace`) command line option is not supplied
|
||||||
|
Rake lowers the noise level in exception backtraces by building
|
||||||
|
a regular expression containing all the system library paths and
|
||||||
|
using it to exclude backtrace entries that match.
|
||||||
|
|
||||||
|
This does not always go far enough, particularly in RVM environments when
|
||||||
|
many gem paths are added. This commit reverses that approach and _only_
|
||||||
|
include backtrace entries that fall within the Capfile and list of tasks
|
||||||
|
imported thereafter. This makes reading exceptions much easier on the eye.
|
||||||
|
|
||||||
|
If the full unexpurgated backtrace is required then the --backtrace
|
||||||
|
and --trace options supply it as before.
|
||||||
|
|
||||||
* Disable loading stages configs on `cap -T`
|
* Disable loading stages configs on `cap -T`
|
||||||
* Enhancements (@townsen)
|
* Enhancements (@townsen)
|
||||||
* Fix matching on hosts with custom ports or users set
|
* Fix matching on hosts with custom ports or users set
|
||||||
|
|
|
@ -61,6 +61,18 @@ module Capistrano
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def display_error_message(ex)
|
||||||
|
unless options.backtrace
|
||||||
|
if loc = Rake.application.find_rakefile_location
|
||||||
|
whitelist = (@imported.dup << loc[0]).map{|f| File.absolute_path(f, loc[1])}
|
||||||
|
pattern = %r@^(?!#{whitelist.map{|p| Regexp.quote(p)}.join('|')})@
|
||||||
|
Rake.application.options.suppress_backtrace_pattern = pattern
|
||||||
|
end
|
||||||
|
trace "(Backtrace restricted to imported tasks)"
|
||||||
|
end
|
||||||
|
super
|
||||||
|
end
|
||||||
|
|
||||||
def exit_because_of_exception(ex)
|
def exit_because_of_exception(ex)
|
||||||
if respond_to?(:deploying?) && deploying?
|
if respond_to?(:deploying?) && deploying?
|
||||||
exit_deploy_because_of_exception(ex)
|
exit_deploy_because_of_exception(ex)
|
||||||
|
|
|
@ -53,7 +53,7 @@ module Capistrano
|
||||||
end
|
end
|
||||||
|
|
||||||
def exit_deploy_because_of_exception(ex)
|
def exit_deploy_because_of_exception(ex)
|
||||||
warn t(:deploy_failed, ex: ex.inspect)
|
warn t(:deploy_failed, ex: ex.message)
|
||||||
invoke 'deploy:failed'
|
invoke 'deploy:failed'
|
||||||
exit(false)
|
exit(false)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue