エラー通知システムの導入
2014年4月2日に残してあったメモなので情報が古いはずです。
Ruby を使用したアプリケーションにおける話。
何があるか
無料
- exception_nortification
- メール通知のみ
- errbit
有料
- airbrake
- Exceptional.io
- Bugsnag
- Raygun
何を導入するか
errbit を使うことにした。errbit 側にエラーを投げる仕組みは、airbrake gem が使える。 heroku で動かしてみている。設定をしてみたが動かない。
airbrake gem
https://github.com/airbrake/airbrake/blob/master/lib/airbrake/tasks.rb
にテスト用の rake タスクが定義されていてこれでテストすることができるっぽい。 コード見てみたら rails 用に書かれているっぽいので sinatra だとこのタスクは使えない。
https://github.com/airbrake/airbrake/wiki/Using-Airbrake-with-plain-Ruby
を見てプレーンな ruby コードで試してみると errbit 側に通知がいっていて動いていることを確認した。 errbit 側に問題はない。sinatra 側でうまく通知が動いていないっぽい。
ローカルで最小限の環境で試してみた。どうも development 環境だと airbrake は通知を送信しないらしい。 production にすると動作した。
ということは、本番環境で production になっていない?
本番環境でもう一度試してみると、動作しているようにみえる。