我如何配置Airbrake gem来记录开发和生产环境中的所有Rails异常



我发现很难通过Airbrake gem发送Rails 3应用程序的异常。起初我认为我的部分有一个Airbrake配置错误,但经过反复试验和阅读文档(https://github.com/thoughtbot/airbrake#readme)非常仔细,我发现当应用程序在开发环境中运行时,Airbrake不会报告错误。当应用在生产环境中运行时,它会报告错误。

是否有一个标志来生成一个Airbrake配置文件,该文件自动将开发环境包括在不应该发送通知的环境列表中?

当前我正在执行README

中列出的命令。
script/rails generate airbrake --api-key your_key_here

直截了当。

  config.consider_all_requests_local       = false
不是

  config.consider_all_requests_local       = true

在您的config/environments/development.rb。在我的情况下,就像我怀疑在许多其他人,这只是一个临时的变化,所以我可以"测试"空气制动的notify_airbrake

你需要config.development_environments = []在空气制动器。rb

不确定配置选项,但您可以使用

从控制器显式地向Airbrake发送通知
notify_airbrake(exception)

因此,要在开发中做到这一点,您可以捕获application_controller中的所有错误,发送通知,然后像以前一样处理错误。首先看看rescue_from。这就是我如何从我的登台环境(或者,确切地说,任何环境,除了开发和测试)获取通知的方法。

class ApplicationController < ActionController::Base
  rescue_from Exception, :with => :render_error
  private
  def render_error(exception)
    render :file => "#{Rails.root}/public/500.html", :layout => false, :status => 500
    logger.error(exception)
    notify_airbrake(exception) unless Rails.env.development? || Rails.env.test?
  end
end

相关内容

  • 没有找到相关文章

最新更新