Backtrace Cleaner
报错或程序运行反馈信息过多、过杂,找不到关键点?你可以使用 Backtrace Cleaner 过滤无用信息。
单独使用
三步即可:
# 1) 创建对象
bc = BacktraceCleaner.new
# 2) 添加规则。可指定'替换'某字符串信息:
bc.add_filter { |line| line.gsub(Rails.root, '') }
# 2) 添加规则。可指定'删除'某 gem 信息:
bc.add_silencer { |line| line =~ /mongrel|rubygems/ }
# 3) 执行过滤。从 exception.backtrace 里过滤掉符合规则的字符串
bc.clean(exception.backtrace) #除以上例子使用到的方法外,还有:
方法
参数
filter & clean
执行过滤。参数是要处理的信息
remove_filters!
移除之前的'替换'规则
remove_silencers!
移除之前的'删除'规则
结合 Rails 使用
Rails 启动时就已使用 backtrace_cleaner, 并且抛异常时会对异常消息进行过滤。
也就是说,Rails 已经帮我们做了第 1 和第 3 步,我们只要做第 2 步"添加规则"即可。 可以在以下配置文件,设置过滤条件:
通过以下方式,可以查看 backtrace_cleaner 的 filters 和 silencers 信息:
附(Rails 里的 backtrace_cleaner 的定义与调用):
定义:
调用:
最后更新于
这有帮助吗?