2012-03-19 6 views
0

私のサーバーログに500のエラーがある場合は、server_errors(id、user_id、created_at、build_version、error_code、error_output)のようなテーブルにDBに格納することをお勧めします。Rails - サーバーエラーをDBに記録する

私の最初のアイデアは、log/production.logにエラーを常にgrepsし、DBに格納するスクリプトを実行することですが、これは醜い解決策のように思えます。ログのようなものを考えると扱いにくくなります回転など。

これは宝石でなければならない一般的な機能、またはRails(2.3.12)に組み込まれた標準機能のように思われるので、誰かがそのようなことを知っていることを期待していました。あるいは、あなたが考えることができるなら、より良い方法論を提案することができます。

答えて

2

ほとんどの人は例外を見るためにexception_notification,NewRelic RPM、またはAirBrake(以前はHoptoadとして知られていました)を使用しています。

あなた自身をロールしたい場合は、take a look at how exception_notification does it。ミドルウェアコンポーネントを使用して例外をキャッチします。独自のカスタムミドルウェアで例外をキャッチし、電子メールではなく上で説明したデータベーステーブルに情報を保存することができます。

バックグラウンドキューイングの場合は、see how resque does it

Rails 2.3を使用している場合は、マスターブランチの代わりにthe 2-3-stable branch of exception_notificationを使用する必要があります。

+0

非常に助けてくれてありがとうジョン! – galarant

関連する問題