シードプロセスで多くの情報を持つレールアプリがあります。ログファイルの1つにログを記録するように設定する方法はありますか?シード時にレールログにエラーが発生する可能性があります
6
A
答えて
7
は、あなたがちょうどあなたができるrake db:seed
タスクを使用して種を実行している場合:
$ rake db:seed --trace
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
でこれを行うことができます。
私は今トレースします。最も論理的なのは、標準出力をファイルにキャッチすることです。 - トレースの断片はちょうどstderrorですか?具体的に播種する環境はありますか? – timpone
デフォルトでは、開発にシードが与えられますが、RAILS_ENV引き数で指定することができます。特定のログが必要な場合はRails.loggerを使用できるはずですが、ログファイルにエラーをキャプチャしようとする場合は、トレース出力を指定されたファイルにパイプする必要があります。私はあなたがログに記録しようとしていることを正確にはわからないと思います。 – JDutil