heroku-すべてのログを表示する方法



Heroku How See All Logs



解決:

更新(dawmail333に感謝):

herokuログ-n1500

または、ログをライブで追跡します



herokuログ-t

Herokuログドキュメント

数千行以上が必要な場合は、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ログまたはロギングアドオン。