it-swarm.com.de

Wo speichert die Konsole.log-Ausgabe für immer?

Ich habe für immer installiert und benutze es, finde es ziemlich lustig.

Mir wurde aber klar, dass die Protokolle woanders hingelegt werden. Gibt es irgendwelche Tipps?

87
AGamePlayer

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

Zum Beispiel: 

forever start -o out.log -e err.log my-script.js

hier für weitere Informationen

115
bryanmac

Für immer werden Protokolle standardmäßig in einer zufälligen Datei im Ordner ~/.forever/ abgelegt.

Sie sollten forever list ausführen, um die laufenden 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 -l anzugeben, wie von bryanmac erwähnt.

70
Liyan Chang

wenn Sie den Befehl "Für immer Protokolle" ausführen, können Sie sehen, wo sich die Protokolldateien befinden.

Quelle: https://github.com/foreverjs/forever

18
JosMarRivera

versuchen Sie den Befehl

> forever logs

oder

> Sudo forever logs

sie erhalten den Speicherort der Protokolldatei

10
Rifaideen

Zum Starten müssen Sie normalforever start script.js starten und überprüfen, ob Konsolen-/Fehlerprotokolle verwendet werdenforever logs Dadurch wird eine Liste aller Protokolle gedruckt, die von forever Gespeichert werden. Anschließend können Sie tail -f /path/to/logs/file.log und verwenden Dadurch werden Live-Protokolle in Ihr Fenster gedruckt. Drücken Sie Strg + Z, um das Drucken der Protokolle zu stoppen.

5

Das hat für mich funktioniert:

forever -a -o out.log -e err.log app.js
4
Zubair Ven

Hilfe ist der beste Retter. Es gibt eine Protokollaktion, die Sie aufrufen können, um Protokolle für alle laufenden Prozesse zu prüfen.

forever --help

Zeigt die Befehle

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. console.log Ausgaben 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
1
bhupen.chn

Basierend auf der Antwort von bryanmac. Ich speichere alle Protokolle in einer Datei und lese sie dann mit tail. Einfache, aber effektive Möglichkeit, dies zu tun.

forever -o common.log -e common.log index.js && tail -f common.log

0
Niko9911

Sie müssen die Protokollziel-Spezifizierer hinzufügen, bevor der Dateiname ausgeführt wird. So

für immer -e /path/error.txt -o /path/output.txt start index.js

0
user450821

In der Standardeinstellung werden alle benötigten Dateien immer in /$HOME/.forever gespeichert. Wenn Sie diesen Ort ändern möchten, legen Sie einfach die Umgebungsvariable FOREVER_ROOT fest, wenn Sie für immer ausgeführt werden:

FOREVER_ROOT=/etc/forever forever start index.js
0
Loup G