heroku-すべてのログを表示する方法
Heroku How See All Logs
解決:
更新(dawmail333に感謝):
herokuログ-n1500または、ログをライブで追跡します
herokuログ-tHerokuログドキュメント
数千行以上が必要な場合は、herokuのSyslogDrainsを使用できます
あるいは(古い方法):
$ heroku run rails c File.open( 'log / production.log'、 'r')。each_line line
herokuのロギングが大幅に改善されました!
$ heroku logs -n 500より良い!
$ heroku logs --tail参照:http://devcenter.heroku.com/articles/logging
更新しました
これらはもはやアドオンではありませんが、デフォルト機能の一部です:)
Herokuは、ログを時間順に並べられたイベントのストリームとして扱います。アクセス*ファイルシステム上の.logファイルは、さまざまな理由から、このような環境では推奨されません。
まず、アプリに複数のdynoがある場合、各ログファイルはアプリのイベントの部分的なビューのみを表します。完全なビューを取得するには、すべてのファイルを手動で集約する必要があります。
次に、Herokuのファイルシステムは一時的なものであり、dynoを再起動または移動すると(1日に1回程度発生します)、ログファイルが失われます。したがって、その単一のdynoのログを表示できるのはせいぜい1日だけです。
最後に、実行中のCedarスタックでherokuコンソールまたはheroku run bashは、現在実行中のdynoに接続しません。それは特にのために新しいものを生み出しますbashコマンド。これは、1回限りのプロセスと呼ばれます。そのため、スポーンされたプロセスで実際のhttpプロセスを実行している他のdynoのログファイルは見つかりません。herokurun。
ロギング、および一般的な可視性は、Herokuの第一級市民であり、これらの問題に対処するいくつかのツールがあります。まず、アプリケーションイベントのリアルタイムストリームを確認します アプリケーション/スタックのすべてのdynoとすべてのレイヤーにわたって 使用heroku logs -tコマンドを使用して、出力を端末にテールします。
$ heroku logs -t 2010-09-16T15:13:46-07:00 app [web.1]:PostController#listを処理しています(2010-09-16 15:13:46の208.39.138.12の場合)[GET] 2010 -09-16T15:13:46-07:00 app [web.1]:レイアウト/アプリケーション内のテンプレートのレンダリング2010-09-16T15:13:46-07:00 heroku [router]:GET myapp.heroku.com/投稿queue = 0 wait = 0ms service = 1ms bytes = 975 2010-09-16T15:13:47-07:00 app [worker.1]:16.6761 j / sで処理された2つのジョブ、0が失敗しました.. ..これは、現在のアプリケーションの動作を観察するのに最適です。ログを長期間保存する場合は、ログの保持、アラート、およびトリガーを提供する多くのログアドオンの1つを使用できます。
最後に、ログファイルを自分で保存する場合は、独自のsyslogドレインを設定して、Herokuからイベントのストリームを受信し、自分で後処理/分析することができます。
概要:使用しないでくださいherokuコンソールまたはherokuはbashを実行して静的ログファイルを表示します。を使用して、アプリのログイベントのHerokuのストリームにパイプしますherokuログまたはロギングアドオン。