2011-04-09 4 views
0

Je voudrais vous connecter @cf dans ce delayed_job:Comment afficher un enregistreur Rails dans Delayed_Jobs?

(CardReferral.all.map(&:email).map(&:downcase) - CardSignup.all.map(&:email).map(&:downcase)).each do |cf| 
    @cf = CardReferral.find_by_email(cf) 
    # <--- I want to add a Rails logger here 
    Notifier.deliver_referred_magic_email(User.find(@cf.user_id), @cf.email, @cf.name, @cf.message, subject, editor1) 
end 

la version Rails en Rails 2.3.5.

Des idées?

+0

Je suis confus; quelle est la question? Y a-t-il un problème avec l'enregistreur standard? – coreyward

+0

Non, je ne sais pas comment écrire l'instruction logger ou où la trouver dans la documentation. – Trip

+0

ce lien http://guides.rubyonrails.org/debugging_rails_applications.html est pour Rails 3, pas Rails 2.3.5. Savoir où je peux trouver la documentation pour se connecter à cette version? – Trip

Répondre

2

L'enregistreur est accessible via la commande "logger" de vos modèles et contrôleurs. Vous pouvez appeler l'un de ses méthodes pour spécifier le niveau de journal de votre message (debug, info, mettre en garde, erreur, fatale), comme ceci:

logger.debug("This will be logged") 

Vous pouvez trouver plus dans les rails guides here.

+0

Est-ce que cela fonctionne dans delayed_jobs? Merci beaucoup pour le lien que vous avez fourni. – Trip

+0

Oui, ça devrait marcher! – agregoire

2

Il ne fait pas, ajoutez ceci dans votre tâche:

logger = Logger.new(STDOUT) 
Questions connexes