レール5を使用して、レールアプリケーションでルビーを構築しています。情報を記録したいいくつかのレーキタスクがあります。しかし、私がロガーにアクセスしようとすると、未定義のローカル変数またはメソッド `logger 'rakeタスクでレールロガーを使用する、レール5
私はlib/tasksで自分のレーキタスクを持っており、production.rbと
namespace :some_namespace do
desc "a description"
task :scrape_info do
include Scraper
startTime = Time.now
Rails.logger.tagged("Scraper") { Rails.logger.info "Beginning scrape: #{startTime} " }
Scraper.scrape_info
endTime = Time.now
Rails.logger.tagged("Scraper") { Rails.logger.info "Finished scrape: #{endTime} " }
end
end
そして、私はロガーが定義されているdevelopment.rbからの抜粋:
config.logger = Logger.new(STDOUT)
config.log_level = :info
config.logger = ActiveSupport::TaggedLogging.new(logger)
任意のアイデアどのようにincorporaためにここに
developement.rb
は、例えば仕事ですロガーをレーキタスクに使用しますか?私は単にstdoutに印刷するプットステートメントを使用することができますが、結局、私は毎日のログファイルを持っているしたいのですが、私は私のすくいタスクがそれらのファイルに含まれることを希望することを理解ANSWER:単に @Joel_Blumから返された環境タグを追加します。また、ライン、development.rbに
config.logger = ActiveSupport::TaggedLogging.new(logger)
をする必要があります:
config.logger = ActiveSupport::TaggedLogging.new(config.logger)
可能な重複[レーキで「環境」タスクは何?](http://stackoverflow.com/questions/7044714/whats-the-environment-task-in-rake) –
は、私はそれを見て、もともとは環境が追加されていたので、私の問題は異なっていると思った。しかし、実際の問題はdevelopment.rbの単純なタイプミスでした –
とにかくありがとう! –