Rails開発ログをどのように見ることができますか?
-
06-07-2019 - |
質問
私のチームのメンバーがWindows XPでRailsアプリを開発しています。 NetBeans内で起動するか、コンソールを開いて script / server
を呼び出してアプリを実行すると、Rails開発ログはスクロールしません。 Webrick起動メッセージのみがあります。アプリは間違いなく実行されていますが、ブラウザーでさまざまなページにアクセスしても、ログ出力は表示されません。
OS Xシステムで同一のアプリを見ると、ログ出力は期待どおりに機能します。
Railsで実行されていることを確認しました" development"環境。
ロギングが抑制される理由は何ですか?
environment.rbファイルに影響する設定パラメーターはありますか?
解決
log /
ディレクトリを確認します- development.log
があります。出力がそこにあるに違いない。
そうでない場合は、ディレクトリが書き込み可能であることを確認してください。
実行中の表示方法:git bashまたはcygwinなどの他のシェルがインストールされている場合は、シェルを開いて tail -f log / development.log を実行できます
は、ログに追加されたものを取得するときにログをスクロールします。
他のヒント
Railsの構成のドキュメントでは、 log_level
設定で:debug
以外に設定します。
リクエストを表示する別の場所もあります:Railsアプリのlog / development.logファイル。そこに何も書かれていない場合、問題は構成にある必要があります。 * nixシステムでは、次を実行します。
$ tail -f log/development.log
そして、リクエストの実行者を監視します。彼らは、 Windowsバージョンの tail
があることを教えてくれます。
less -R log/development.log
これを使い始めたばかりです。
私は常にログを見るために log / development.log
を使用します。 cygwinなどを使用して tail -f
するだけです。
Windows環境がWEBrickを使用しており、OS X環境がMongrelまたは他のWebサーバーを使用している可能性があります。一部のWebサーバーでは、ロギング出力が(また)シェルに直接書き込まれ、他のWebサーバーではログファイルにのみ書き込まれることに気付きました。
これを試して、開発ログを取得してください:
tail -f log/development.log
アプリケーションパスにいることを確認してください。
Netbeansは、開発ログが大きくなりすぎると、コンソールウィンドウでの開発ログの表示を停止するようです。少なくともそれは私の経験でした。
Webrickのソースを詳しく調べることなく、表示される情報の量はデフォルトではそれほど多くないと思います。 MongrelではなくOSXでWebrickを実行していますか?
実際、Webrickを使い続ける特別な理由はありますか? Phusion Passengerが登場する前、Mongrelはフロントエンドサーバーとしてデファクトとなっており、Windowsでも問題なく動作します。インストールすると( gem install mongrel
)、Railsはデフォルトでそれを使用します。
Webrickを実行している開発環境で(方法がわかってから-長い時間が経ちました)、非常に短い出力が得られました。「GET」の記録だけです要求。 Mongrelに切り替えて、リクエスト、パラメーター、SQL、タイミングなどの全機能を取得しました。
grepでtailを使用しています
tail -f log/development.log | grep Started -A 1
美しく動作します。
以下のコマンドを使用してランタイムログを表示できます。
tailf log/development.log
また、ログの最初または最後の行数だけが必要な場合は、以下のコマンドを使用してそれらを取得できます(ログの最初/最後の100行):
例:
最初の100行:
head -n 100 log/development.log
最後の100行:
tail -n 100 log/development.log
ありがとう!
このコマンドを試すことができます
$ tail -f development.log
$ tail -f log/development.log