私はこのような関数を呼び出すrakeタスクがあります。私は、カスタムログへのログ出力をしたい、と私は本当にログの参照に私は、関数を作るたびに合格する必要がありますする必要はありませんRuby on Railsでrakeタスクにカスタムログを使用するにはどうすればよいですか?
namespace :blah do
task :hello_world => :environment do
logger.info("Hello World")
helloworld2
end
end
def helloworld2
logger.info("Hello Again, World")
end
をコール。私はこのどこかで(再びそれを見つけることができません)が見つかりました:
def logger
@@logger ||= Logger.new("#{RAILS_HOME}/log/blah.log")
end
をしかし、これは私のために動作しませんし、私は長い時間前にコードをつかんで、使用していないので、私はそれも何をするかわかりませんそれまでは。私はそれが何かを見るために@@@ google(@ "レールを試した")で@@を検索することはできません。この問題に関する助けは素晴らしいでしょう。私は、迅速な解決を期待しての本当に良い理由がない限り、宝石やプラグインを(インストールしていないです。
ありがとう!
機能は間違いでした。多分それは経路の問題です。私は動作しないと言うとき、私は何もログファイルに書き込まれることを意味します。私は「hello world」と「logger.info(「hello world」)」を連続した行に入れています。私はputsを見ますが、ロガーではありません – Tony
ああ、RAILS_HOMEの代わりにRAILS_ROOTを入れてください。 –
これはまだ動作しておらず、パスは間違いありません。このEXACTコードはあなたのために働くのですか? – Tony