Wie können wir die Rails-Entwicklung Protokoll beobachten?
-
06-07-2019 - |
Frage
Ein Mitglied meines Teams ist eine Rails-Anwendung auf Windows XP zu entwickeln. Wir stellen fest, dass, wenn wir die App laufen, entweder startet es innerhalb NetBeans oder durch eine Konsole öffnen und script/server
Aufruf, die Rails-Entwicklung Protokoll nicht durch nicht scrollen. Es gibt nur die WEBrick Startmeldung. Die App ist auf jeden Fall ausgeführt wird, aber wenn wir verschiedene Seiten im Browser schlagen wir sehen keine Log-Ausgabe.
Wenn ich die gleiche App auf meinem OS X-System suchen, Ausgabe Werke Anmeldung als erwartet.
habe ich sicher, dass es in Rails „Entwicklung“ Umgebung ausgeführt wird.
Irgendwelche Ideen, warum die Protokollierung unterdrückt werden würde?
Gibt es Konfigurationsparameter erstellt für die environment.rb-Datei, die es beeinflussen würde?
Lösung
Suchen Sie in dem log/
Verzeichnis - es sollte eine development.log
sein. Ich wette, Ihr Ausgang ist.
Wenn es nicht, stellen Sie sicher, dass Verzeichnis beschreibbar ist.
Wie es sehen, während Sie laufen: Wenn Sie git bash installiert haben, oder eine andere Shell wie Cygwin, dann können Sie eine Shell öffnen und tail -f log/development.log
tun, die das Protokoll scrollen, wie es Sachen angehängt wird .
Andere Tipps
Die Rails Konfiguration Dokumentation schlägt vor, dass Sie log_level
andere auf etwas gesetzt haben als :debug
in Ihrer Konfiguration.
Es gibt auch einen alternativen Ort, um die Anfragen zu lesen: das Protokoll / development.log Datei in Ihrer Rails-Anwendung. Wenn dort nichts geschrieben wird, dann muss Ihr Problem in der Konfiguration sein. Auf einem * nix-System würde ich laufen:
$ tail -f log/development.log
Und beobachten Sie die Anfragen laufen durch. Sie sagen mir, dass es eine Windows-Version von tail
.
less -R log/development.log
Ich habe gerade angefangen, diese zu verwenden.
Ich verwende log/development.log
immer bei den Protokollen zu suchen. tail -f
es nur mit Cygwin oder so etwas.
Vielleicht ist Ihre Windows-Umgebung verwendet WEBrick und die OS X-Umgebung ist Mongrel oder andere Webserver verwenden. Ich habe mit einigen Web-Servern die Protokollausgabe (auch) geschrieben direkt in die Schale und mit anderen bemerkt, dass nur in die Protokolldateien geschrieben werden.
Versuchen Sie dies, Entwicklung Protokoll zu bekommen:
tail -f log/development.log
Stellen Sie sicher, dass Sie in dem Anwendungspfad sind.
Netbeans scheint im Konsolenfenster Anzeige des dev Protokolls zu stoppen, wenn die Entwickler Protokoll zu groß wird. Wenigstens war, dass meine Erfahrung.
Ohne für WEBrick in die Quelle zu graben, ich vermute, dass die Menge an Informationen standardmäßig angezeigt ist nicht groß. Sind Sie sicher, dass Sie WEBrick auf OSX und nicht reinrassig?
laufen lassen In der Tat gibt es einen besonderen Grund für die Fortsetzung WEBrick überhaupt zu benutzen? Vor dem Aufkommen des Phusion Passagiers hatte Mongrel der de facto Front-End-Server der Wahl, und es funktioniert gut unter Windows. Wenn Sie es (gem install mongrel
) installieren, dann wird Rails es verwenden standardmäßig aktiviert.
In meiner Entwicklungsumgebung läuft WEBrick (nachdem ich dachte hatte, wie - es ist schon eine lange Zeit) Ich habe sehr kurzen Ausgang: nur eine Aufzeichnung des „GET“ -Anfrage. Die Umstellung auf Mongrel, habe ich die vollen Werke:. Anforderung, Parameter, SQL, Timings etc
Ich verwende Schwanz mit grep
tail -f log/development.log | grep Started -A 1
Funktioniert wunderbar.
Sie können die Laufzeit-Protokolle mit dem unter Befehl finden Sie unter:
tailf log/development.log
Auch wenn Sie nur erste oder letzte Anzahl der Zeilen wollen aus den Protokollen können Sie nur diejenigen mit folgendem Befehl (erste / letzte 100 Zeilen aus den Protokollen) erhalten:
Zum Beispiel:
Die ersten 100 Zeilen:
head -n 100 log/development.log
Letzte 100 Zeilen:
tail -n 100 log/development.log
Danke!
Sie können diesen Befehl versuchen
$ tail -f development.log
$ tail -f log/development.log