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



我正试图在rails 3.0.20和ruby 1.8.7。

无论如何,在我的应用程序控制器中:

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

现在,我的日志中似乎充满了比平时更长的回溯。为什么会发生这种情况?有没有办法只显示回溯的"重要"部分?这里叫空气制动器正确吗?

感谢

退房http://api.rubyonrails.org/classes/ActiveSupport/BacktraceCleaner.html.Rails使用它在显示之前清理您的后台竞争。

你可以这样使用它:

Rails.backtrace_cleaner.clean(exception.backtrace)

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

相关内容

  • 没有找到相关文章

最新更新