私は、ファイルにリダイレクトして他のツールで開くことができるCSV出力を生成するRakeタスクをいくつか持っていますが、heroku rake foo > foo.csv
を実行すると、出力にログメッセージ(SQLクエリなど)が表示されます。HerokuでRakeタスクを実行すると、ログメッセージがSTDOUTから出ないようにするにはどうすればよいですか?
Rakeタスクの先頭にRails.logger = Logger.new('/dev/null')
とRails.logger = Logger.new(STDERR)
を試しましたが、それらはローカルで期待どおりに機能していましたが、Herokuでタスクを実行すると大きな効果はありません。
私はHerokuがSTDOUTとSTDERRを一緒に盛り上げることにショックを受けませんでしたが、なぜ/ dev/nullに送信すると出力が消えないのかは私にとって謎です。
大変助かりました。
Rails v3.0.0、ヘロク竹ree-1.8.7スタック、rake 0.9.2。 Heroku | Dev Center | Loggingから
私はこのことを認識していますので、私は一般的に知っていたが無視することができたと
: – camdez