gpt4 book ai didi

ruby-on-rails - 记录回溯、rescue_from 和自定义错误页面

转载 作者:行者123 更新时间:2023-12-04 05:30:06 24 4
gpt4 key购买 nike

我正在尝试在一个项目中创建自定义错误页面
rails 3.0.20 和 ruby 1.8.7。

无论如何在我的应用程序 Controller 中:

unless Rails.application.config.consider_all_requests_local
rescue_from Exception, :with => :render_error
rescue_from ActionController::RoutingError, ActionController::UnknownController, ::AbstractController::ActionNotFound, ActiveRecord::RecordNotFound, :with => :render_error_not_found
end

然后是渲染错误方法:
def render_error(exception)
notify_airbrake(exception)
Rails.logger.fatal exception
Rails.logger.fatal exception.backtrace.join("\n")
respond_to do |format|
format.html { render :template => "errors/error_500", :layout => 'layouts/application'}
format.all { render :nothing => true, :status => 500 }
end
end

似乎现在我的日志充满了比通常更长的回溯。
为什么会这样?有没有办法只显示回溯的“重要”部分?
在这里调用 airbrake 是否正确?

谢谢

最佳答案

退房 http://api.rubyonrails.org/classes/ActiveSupport/BacktraceCleaner.html . Rails 使用它在显示之前清理你的 backrace。

你可以这样使用它:

Rails.backtrace_cleaner.clean(exception.backtrace)

我实际上是在查看 rails 源代码,因为我认为您的异常在到达 render_error 方法时可能已经被清除了。

关于ruby-on-rails - 记录回溯、rescue_from 和自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com