Domanda

Un membro del mio team sta sviluppando un'app Rails su Windows XP. Stiamo scoprendo che quando eseguiamo l'app, avviandola all'interno di NetBeans o aprendo una console e chiamando script / server , il registro di sviluppo di Rails non scorre. C'è solo il messaggio di avvio di Webrick. L'app è sicuramente in esecuzione, ma quando accediamo a varie pagine del browser non vediamo alcun output di registrazione.

Quando guardo l'app identica sul mio sistema OS X, l'output della registrazione funziona come previsto.

Mi sono assicurato che funzionasse in Rails " sviluppo " ambiente.

Qualche idea sul perché la registrazione venga soppressa?

Esistono parametri di configurazione per il file environment.rb che potrebbero influenzarlo?

È stato utile?

Soluzione

Cerca nella directory log / - dovrebbe esserci un development.log . Scommetto che il tuo output è lì.

In caso contrario, assicurarsi che la directory sia scrivibile.

Per come vederlo mentre sei in esecuzione: se hai installato git bash o qualche altra shell come cygwin, puoi aprire una shell ed eseguire tail -f log / development.log che farà scorrere il registro man mano che viene aggiunto elementi.

Altri suggerimenti

La Configurazione delle rotaie suggerisce che potresti avere log_level impostato su qualcosa di diverso da : debug nella tua configurazione.

C'è anche un posto alternativo per visualizzare le richieste: il file log / development.log nella tua app Rails. Se non viene scritto nulla, il problema deve essere nella configurazione. Su un sistema * nix avrei eseguito:

$ tail -f log/development.log

E guarda le richieste eseguite da. Mi dicono che esiste una versione Windows di tail .

less -R log/development.log

Ho appena iniziato a usarlo.

Uso sempre log / development.log per guardare i registri. Basta tail -f usando cygwin o qualcosa del genere.

Forse l'ambiente Windows utilizza WEBrick e l'ambiente OS X utilizza Mongrel o un altro server web. Ho notato che con alcuni server web l'output di registrazione è (anche) scritto direttamente nella shell e con altri è scritto solo nei file di registro.

Prova questo, per ottenere il registro di sviluppo:

tail -f log/development.log

Assicurati di essere nel percorso dell'applicazione.

Netbeans sembra smettere di visualizzare il registro degli sviluppatori nella finestra della console quando il registro degli sviluppatori diventa troppo grande. Almeno questa è stata la mia esperienza.

Senza scavare nella fonte per Webrick, sospetto che la quantità di informazioni visualizzate non sia di default grande. Sei sicuro di utilizzare Webrick su OSX e non su Mongrel?

In effetti, c'è un motivo particolare per continuare a usare Webrick? Prima dell'avvento di Phusion Passenger, Mongrel era diventato il server front-end di fatto preferito, e funziona perfettamente su Windows. Se lo installi ( gem install mongrel ), Rails lo utilizzerà per impostazione predefinita.

Nel mio ambiente di sviluppo, eseguendo Webrick (dopo aver capito come - è passato molto tempo) ho ottenuto un output molto breve: solo un record di " GET " richiesta. Passando a Mongrel, ho ottenuto i lavori completi: richiesta, parametri, SQL, tempi ecc.

Uso tail con grep

tail -f log/development.log | grep Started -A 1

Funziona magnificamente.

È possibile visualizzare i registri di runtime utilizzando il comando seguente:

tailf log/development.log

Inoltre, se vuoi solo il primo o l'ultimo numero di righe dai registri, puoi semplicemente ottenerle utilizzando il comando seguente (prima / ultime 100 righe dai registri):

Ad esempio:

Prime 100 righe:

head -n 100 log/development.log 

Ultime 100 righe:

tail -n 100 log/development.log

Grazie!

Puoi provare questo comando

$ tail -f development.log


$ tail -f log/development.log
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top