2012-02-10 25 views

答えて

7

は、あなたがちょうどあなたができるrake db:seedタスクを使用して種を実行している場合:

$ rake db:seed --trace 
+0

私は今トレースします。最も論理的なのは、標準出力をファイルにキャッチすることです。 - トレースの断片はちょうどstderrorですか?具体的に播種する環境はありますか? – timpone

+0

デフォルトでは、開発にシードが与えられますが、RAILS_ENV引き数で指定することができます。特定のログが必要な場合はRails.loggerを使用できるはずですが、ログファイルにエラーをキャプチャしようとする場合は、トレース出力を指定されたファイルにパイプする必要があります。私はあなたがログに記録しようとしていることを正確にはわからないと思います。 – JDutil

1

あなたの種子がより詳細にすると、「>ログ」を介してファイルにリダイレクトする

say_with_time("Doing this and that") do 
    # seed stuff 
end 

を試してみてください。 私は、初期化時にロガーをハイジャックし、代わりにファイルロガーを使用することをお勧めします。

+0

これはちょっと私が考えていたものです。私は種子特有の異なる環境を作りたいと思うようです。また、実行ごとにタイムスタンプ付きファイルを作成します。 – timpone

+0

'say_with_time'は' ActiveRecord :: Migration'としか動作しません。 –

1

Rails.logger.debug(「メッセージ」)は、ログ/ development.logファイルに移動します。

コンソールtail -f log/development.logでこれを行うことができます。