首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置Airbrake gem以记录开发和生产环境中的所有Rails异常?

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

Stack Overflow用户
提问于 2011-09-27 06:34:12
回答 2查看 9.3K关注 0票数 10

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

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

目前,我正在执行自述文件中列出的命令

代码语言:javascript
复制
script/rails generate airbrake --api-key your_key_here
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-19 04:28:18

简单明了。

代码语言:javascript
复制
  config.consider_all_requests_local       = false

而不是

代码语言:javascript
复制
  config.consider_all_requests_local       = true

在你的config/environments/development.rb里。在我的案例中,就像我怀疑的其他许多人一样,这只是一个临时的改变,这样我就可以“测试”空气制动器的notify_airbrake

您在airbrake.rb中确实需要config.development_environments = []

票数 18
EN

Stack Overflow用户

发布于 2011-09-27 08:18:41

不确定配置选项,但您可以使用以下命令从控制器显式地向Airbrake发送通知

代码语言:javascript
复制
notify_airbrake(exception)

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

代码语言:javascript
复制
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
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7562162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档