Connectez-vous à l'intérieur du travailleur Sidekiq
Je suis en train de journal le progrès de mon sideqik travailleur à l'aide de tail -f log/development.log
dans le développement et la heroku logs
dans la production.
Cependant, tout à l'intérieur de l'ouvrier et de tout ce qui s'appelle par le travailleur ne pas se connecté. Dans le code ci-dessous, seul le TEST 1 est journalisé.
Comment puis-je me connecter tout à l'intérieur de l'ouvrier et les classes le travailleur appels?
# 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
Mise à jour
Je ne comprends toujours pas pourquoi Rails.logger.info
ou Sidekiq.logger.info
ne vous connectez pas dans le flux des journaux. Ai eu de travail en remplaçant Rails.logger.info
avec puts
.
source d'informationauteur migu | 2013-07-12
Vous devez vous connecter pour publier un commentaire.
Il y a un
Sidekiq.logger
et simplementlogger
de référence que vous pouvez utiliser au sein de vos travailleurs. La valeur par défaut doit être sur la sortie standard et il vous suffit de diriger votre sortie de la production, le chemin du fichier journal de votre choix.@migu, avez-vous essayé la commande ci-dessous dans le
config/initializer.rb
?