3

可用性/例外監視のために New Relic を使用して Rails 4.0.0.rc アプリケーションを実行しています。application.rbこのスニペットで変更して、動的な例外ページを有効にしました。

config.exceptions_app = self.routes

ただし、 New Relic404では、422または例外が表示されなくなりました。500それらを取り戻す方法はありますか?

編集

注: ステータスを処理するコントローラーは次のようになります。

class ErrorsController < ApplicationController

  # GET /404
  def missing
    render status: 404
  end

  # GET /422
  def unprocessable
    render status: 422
  end

  # GET /500
  def exception
    render status: 500
  end

end
4

2 に答える 2

4

NewRelic::Agent.notice_error を手動で呼び出したいようです。

Rack env からリクエスト オブジェクトを再構築し、必要に応じて例外を作成できます。

このようなもの:

request = Rack::Request(env)

options = {
  :uri => request.url,
  :referrer => request.referrer,
  :request_params => request.params
}

NewRelic::Agent.notice_error(your_custom_exception, options)

リクエスト パラメータはそのまま送信されることに注意してください。機密情報をフィルタリングするように注意してください。

ソース:
New Relic で Ruby エージェント エンジニア
として働いています。 NoticedError のドキュメント: http://rubydoc.info/gems/newrelic_rpm/frames

于 2013-06-20T00:29:34.630 に答える