在我的Rails应用程序中,我已经设置了以下backtrace消音器,正如Michael Hartl在他的Rails教程中所建议的那样:
Rails.backtrace_cleaner.add_silencer { |line| line =~ /rvm/ }
Run Code Online (Sandbox Code Playgroud)
但我仍然得到了我打算过滤的所有噪音:
7:13:55 - INFO - Running: test/controllers/tags_controller_test.rb
Started
ERROR["test_should_get_index", TagsControllerTest, 0.45206]
test_should_get_index#TagsControllerTest (0.45s)
ActionController::UrlGenerationError:
ActionController::UrlGenerationError: No route matches {:action=>"index", :controller=>"tags"}
/Users/chris/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.1.6/lib/action_dispatch/journey/formatter.rb:39:in `generate'
/Users/chris/.rvm/gems/ruby-2.0.0-p353/gems/actionpack-4.1.6/lib/action_dispatch/routing/route_set.rb:599:in `generate'
Run Code Online (Sandbox Code Playgroud)
显然,字符串"rvm"出现在最后两行中.但他们仍然出现了.将字符串更改为".rvm"没有任何区别.
有没有办法减少rails控制台中错误报告的冗长程度?具体来说,关闭堆栈跟踪显示?这在大多数时候都没用,而且当我遇到愚蠢的手指时,彻底烦人.
当我输入类似的内容时:
MyModel.vtrsyr
Run Code Online (Sandbox Code Playgroud)
我不需要堆栈跟踪来告诉我没有'vtrsyr'方法