在rails中记录完整的堆栈跟踪,包括所有宝石

时间:2015-02-27 15:39:49

标签: ruby-on-rails ruby rubygems

目前,当我查看我的rails应用程序的日志文件时,我得到的堆栈跟踪如下:

NoMethodError (undefined method `[]' for nil:NilClass):
  app/controllers/concerns/example.rb:192:in `rescue in create_example'
  app/controllers/concerns/example.rb:163:in `create_example'
  app/controllers/concerns/example.rb:11:in `example'
  app/controllers/example_controller.rb:39:in `create'

错误是从包含为gem的第二个项目触发的。 在example.rb(关注点)的第192行,我们使用了包含gem的一些类,在该类中发生了真正的异常。

另一个例子:

ZeroDivisionError (divided by 0):
  app/controllers/dummy_controller.rb:15:in `index'

在第15行

test_object.divide_by_zero

test_object是包含的gem

中定义的类的实例

我希望rails显示并记录完整的堆栈跟踪,包括所有或特定的gem,但我无法弄清楚如何执行此操作。有人知道怎么做吗?还是有人可以帮助我朝正确的方向努力?

感谢!!!

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

它的使用方式如下:

Rails.backtrace_cleaner.remove_silencers!