2012-02-10 11 views

risposta

7

Se il solo in esecuzione i vostri semi, con il compito rake db:seed si poteva fare:

$ rake db:seed --trace 
+0

I trace in questo momento - immagino che la cosa più logica sia solo quella di catturare l'output standard in un file. I pezzi --trace sono solo stderror. C'è un ambiente per la semina in particolare? – timpone

+0

Bene, per impostazione predefinita semina lo sviluppo, ma è possibile specificare con l'argomento RAILS_ENV. Dovresti essere in grado di usare Rails.logger se c'è qualcosa di specifico che vuoi registrare, ma se stai solo cercando di catturare un errore nel file di log allora avrai bisogno di reindirizzare l'output di tracciamento in un file specificato. Immagino di non essere sicuro di cosa stia cercando di registrare. – JDutil

1

Prova

say_with_time("Doing this and that") do 
    # seed stuff 
end 

per rendere i vostri semi più prolisso, e reindirizzare a un file via '> log'. Suppongo che potreste dirottare il logger al momento dell'avvio e utilizzare invece un file-logger, se non vi piace la soluzione '> log'.

+0

questo è un po 'quello che stavo pensando. Sembra quasi che mi piacerebbe creare un ambiente diverso che sia specifico per seme. E forse crea un file con timestamp per ogni corsa. – timpone

+0

'say_with_time' funziona solo con' ActiveRecord :: Migration' –

1

Rails.logger.debug ("Messaggio") andrà al file di log/development.log.

È possibile farlo nella console tail -f log/development.log per vederlo in azione.