2011-07-25 3 views
1

私はHerokuアプリケーションをデバッグしようとしています。私はローカルのRailsに問題があるので、私はHerokuを使ってデバッグしています。私は私のPOSTリクエストの一部からHTTP 500応答を取得していますし、Herokuのは、私に教えて喜んでいる唯一のものは、次のとおりです。Herokuのトラブルシューティングの詳細

$ heroku logs 
... lots of other stuff ... 
POST app.heroku.com/games dyno=web.1 queue=0 wait=0ms service=36ms status=500 bytes=0 

どのように私は私のサーバーのエラーに関するこれ以上の情報を得ることができますか?

+0

$ herokuログの出力を確認してください – cmpolis

+0

@cmpolis:これが私の出力です。申し訳ありませんが、私はそれを明確にしませんでした。 –

+0

LOG_LEVELも有効にします。詳細については、この質問をチェックしてください:http://stackoverflow.com/questions/5994492/heroku-debugging簡単なログ検査のために、Logglyの無料レベルを使用することもお勧めします。 – slothbear

答えて

2

あなたはHeroku loggingを認識していますか?ローカルのアプリケーションディレクトリに:

$ heroku logs 

また、あなたがRailsの中にサーバーエラーをキャッチし、それらを記録することができ、拡張ログ

$ heroku addons:upgrade logging:expanded 
$ heroku logs --tail 
+0

それは私の出力を得たところです。申し訳ありませんが、私はそれを明確にしませんでした。 –

+0

OK。拡張ロギングオプションのためにリンクしたサポートページを見てください。答えを編集します。 – ghoppe

+0

非常に便利ですが、残念ながらHerokuはアドオンをインストールする前に確認が必要で、クレジットカード情報はありません。 Herokuアドオンを必要としない代替手段はありますか?私はそれを疑うが、私は尋ねなければならない。 –

0

を試みることができます。最も簡単な方法は、コントローラにrescue_from句を追加することです。それは、キャッチされない例外があなたのコードからバブルアップしたときに呼び出されるメソッドを定義できるようにします。

rescue_from UserNotFoundError, :with => :user_not_found 

def throw 
    #Triggers a UserNotFound error 
    @user = User.find(42) 
end 

def user_not_found(exception) 
    Rails.logger.warn { "User not found\n#{exception.backtrace.join("\n\t")}" } 

    @message = "Exception logged." 
    render :errors 
end 

ボーナスポイントは、ベースApplicationControllerクラスに追加できます。

私はProgstr Loggerに取り組んでいます。無料のHerokuアドオンは、ログの保存と検索を容易にします。また、エラーをキャッチするのに似たことをするonline exampleもあります。