開発中のtail -f log/development.log
と生産中のheroku logs
を使用して、私のsideqikワーカーの進捗状況を記録しようとしています。Sidekqの作業員のログ
しかし、ワーカー内のすべてとワーカーから呼び出されたものはすべてログに記録されません。以下のコードでは、TEST 1のみがログに記録されます。
ワーカーの内部のすべてとワーカーが呼び出すクラスを記録するにはどうすればよいですか?
# app/controllers/TasksController.rb
def import_data
Rails.logger.info "TEST 1" # shows up in development.log
DataImportWorker.perform_async
render "done"
end
# app/workers/DataImportWorker.rb
class DataImportWorker
include Sidekiq::Worker
def perform
Rails.logger.info "TEST 2" # does not show up in development.log
importer = Importer.new
importer.import_data
end
end
# app/controllers/services/Importer.rb
class Importer
def import_data
Rails.logger.info "TEST 3" # does not show up in development.log
end
end
更新
Rails.logger.info
かSidekiq.logger.info
がログ・ストリームにログインしていない理由を私はまだ理解していません。 Rails.logger.info
をputs
に置き換えて動作させました。
ありがとうございました。 'logger.info"いくつかのログ "私は' bundle exec sidekiq'を起動したterminalウィンドウにログインしましたが、development.logにはログインしていません。私は 'bundle exec sidekiq 2>&1 |を試しました。 logger -t sidekiq'が表示されますが、ログはどこにも表示されません。 – migu
同じ問題。これは解決策としてマークするべきではありません。 – johnnygoodman