2009-06-18 1 views
44

私のチームのメンバーは、Windows XP上にRailsアプリケーションを開発しています。 NetBeans内で起動するか、コンソールを開いてscript/serverを呼び出してアプリを実行すると、Rails開発ログはスクロールされません。 Webrickの起動メッセージのみがあります。アプリは間違いなく実行されていますが、ブラウザのさまざまなページにアクセスするとログ出力が表示されません。Railsの開発ログはどのように見ることができますか?

私のOS Xシステムで同じアプリケーションを見ると、出力は期待通りに機能します。

私はそれがRailsの "開発"環境で動作していることを確認しました。

なぜロギングが抑制されるのでしょうか?

環境に影響を与えるenvironment.rbファイルの設定パラメータはありますか?

+8

ウィンドウを使用すると悪い考えです。 – bmalets

答えて

99

log/ディレクトリには、development.logがあります。私はあなたの出力があると確信しています。

そうでない場合は、ディレクトリが書き込み可能であることを確認してください。

git bashがインストールされている場合、またはcygwinなどの他のシェルを使用している場合は、シェルを開いて、tail -f log/development.logを実行してログをスクロールして追加しますそれ。

+0

ねえ、サラ!ありがとう、ええ、私はtail -fを実行しているGit Bashコンソールウィンドウで彼を設定しました。しかし、私は、WebrickがすべてのRailsログ出力をstdoutに送信していないと私には疑問を投げかけています。私はそれがデフォルトで起こるはずだったと思った。 – Ethan

+0

ええ、それは奇妙です。 Rubyスクリプト/サーバーをディレクトリ(git bash、XP Pro)で実行すると、出力が表示されます。私は "ruby"の有無にかかわらず、cmd.exeでも試しました。しかし、ウィンドウが出るまで待っていたので、何かを出力するために出力がいっぱいでした。どのバージョンのRails/Ruby/WEBrickですか?私は2.3.2/1.8.6/1.3.1です。 –

+0

2.3.2/1.8.6 /わからないWEBrick - 私はその時点でそのXPマシンにアクセスできない。 – Ethan

2

私はいつもログを見るのにlog/development.logを使用します。ちょうどtail -fそれはcygwinか何かを使用しています。

あなたのWindows環境ではWEBrickを使用しており、OS X環境ではMongrelやその他のWebサーバーを使用している可能性があります。私は、いくつかのWebサーバでは、ロギング出力がシェルに直接書き込まれ、他のものはログファイルにのみ書き込まれることに気付きました。

7

Rails Configuration文書では、log_levelが設定内で:debug以外に設定されている可能性があります。

リクエストを表示する場所もあります.Railsアプリケーションのlog/development.logファイルです。何も書き込まれていない場合は、問題が構成されている必要があります。 * nixシステムでは、私は実行するでしょう:

$ tail -f log/development.log 

そして要求が実行されるのを見てください。彼らはWindows version of tailがあると私に教えてくれます。

1

Webrickのソースを掘り下げることなく、表示される情報の量はデフォルトでは大きくないと思われます。あなたはMongrelではなくOSXでWebrickを実行していますか?

実際、Webrickを引き続き使用する特別な理由はありますか? Phusion Passengerが登場する前に、Mongrelはの事実上のフロントエンドサーバーになりました。これはWindows上でうまく動作します。インストールする場合(gem install mongrel)、Railsはデフォルトでそれを使用します。

私の開発環境では、Webrickを実行していました(私がどのようにして分かったのか、それは長い時間でした)。私は非常に簡単な出力を得ました: "GET"要求の単なる記録です。 Mongrelに切り替えると、リクエスト、パラメータ、SQL、タイミングなどのすべての作業が完了しました。

+0

ありがとうございました。それは本当に役に立ちます。はい、私のOS XマシンでMongrelを実行しています。私の同僚のXPシステムはWebrickを実行しています。私はMongrelをそこにインストールしようとします。 – Ethan

2

devログが大きすぎると、Netbeansがコンソールウィンドウにdevログを表示しないようです。少なくともそれは私の経験でした。

6
less -R log/development.log 

私はこれを使い始めました。

3

開発ログを取得し、これを試してみてください:

tail -f log/development.log 

は、アプリケーションのパスにあることを確認します。

1

私は美しくワークス

グレップ

tail -f log/development.log | grep Started -A 1 
と尾を使用しています。