Ich habe es für immer installiert und benutze es, finde es ziemlich lustig.
Aber mir wurde klar, dass die Protokolle woanders abgelegt werden. Gibt es irgendwelche Tipps?
Ich habe es für immer installiert und benutze es, finde es ziemlich lustig.
Aber mir wurde klar, dass die Protokolle woanders abgelegt werden. Gibt es irgendwelche Tipps?
Antworten:
Forever verwendet Befehlszeilenoptionen für die Ausgabe:
-l LOGFILE Logs the forever output to LOGFILE
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
Beispielsweise:
forever start -o out.log -e err.log my-script.js
Sehen Sie hier für weitere Informationen
Für immer werden Protokolle standardmäßig in einer zufälligen Datei im ~/.forever/
Ordner abgelegt .
Sie sollten ausführen forever list
, um die ausgeführten Prozesse und die entsprechende Protokolldatei anzuzeigen.
Beispielausgabe
>>> forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] 6n71 /usr/bin/node app.js 2233 2239 /home/vagrant/.forever/6n71.log 0:0:0:1.590
Es ist jedoch wahrscheinlich am besten, mit zu spezifizieren, -l
wie von bryanmac erwähnt.
Wenn Sie den Befehl "Forever Logs" ausführen, können Sie sehen, wo sich die Protokolldateien befinden.
Um zu forever start script.js
starten und um Konsolen- / Fehlerprotokolle zu überprüfen , müssen Sie normal
vorgehen. Verwenden Sie
forever logs
diese Option, um eine Liste aller Protokolle zu drucken, die für immer gespeichert sind. Anschließend können Sie sie verwenden. tail -f /path/to/logs/file.log
Dadurch werden Live-Protokolle in Ihr Fenster gedruckt. Drücken Sie Strg + Z, um den Druck der Protokolle zu stoppen.
Es ist eine alte Frage, aber ich bin auf die gleichen Probleme gestoßen. Wenn Sie eine Live-Ausgabe sehen möchten, können Sie diese ausführen
forever logs
Dies würde den Pfad der Protokolldatei sowie die Nummer des Skripts anzeigen. Sie können dann verwenden
forever logs 0 -f
0 sollte durch die Nummer des Skripts ersetzt werden, für das die Ausgabe angezeigt werden soll.
Hilfe ist Ihr bester Retter. Es gibt eine Protokollaktion, die Sie aufrufen können, um Protokolle für alle laufenden Prozesse zu überprüfen.
forever --help
Zeigt die Befehle an
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
Beispielausgabe des obigen Befehls für drei laufende Prozesse. Die Ausgaben von console.log werden in diesen Protokollen gespeichert.
info: Logs for running Forever processes
data: script logfile
data: [0] server.js /root/.forever/79ao.log
data: [1] server.js /root/.forever/ZcOk.log
data: [2] server.js /root/.forever/L30K.log
Sie müssen die Protokollzielspezifizierer vor dem auszuführenden Dateinamen hinzufügen. So
für immer -e /path/error.txt -o /path/output.txt start index.js
forever myapp
? Vielen Dank!