Ho un'app di rotaie con molte informazioni nel processo di seed. C'è un modo per impostarlo in modo che registri su uno dei file di registro?È possibile che si verifichino errori nel registro di rotaia durante la semina
risposta
Se il solo in esecuzione i vostri semi, con il compito rake db:seed
si poteva fare:
$ rake db:seed --trace
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'.
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
'say_with_time' funziona solo con' ActiveRecord :: Migration' –
Rails.logger.debug ("Messaggio") andrà al file di log/development.log.
È possibile farlo nella console tail -f log/development.log
per vederlo in azione.
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
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