Ist es möglich, die Dateiprotokollierung eines Programms zu deaktivieren, aber die Ausgabe im Vordergrund zu sehen ( supervisorctl fg <program>
)? Ich habe versucht, stdout_logfile=/dev/null
, aber die Ausgabe wurde nicht im Vordergrund angezeigt.
Diese Funktion wäre praktisch, wenn ich zum Beispiel die Protokolle nicht behalten möchte, aber sehen möchte, was gerade passiert.
Sie müssen nichts tun, behalten Sie einfach den Standardwert von stdout_logfile
und dann supervisorctl tail -f <program>
zu sehen, was gerade passiert .
Für Ihre andere Notwendigkeit: "Ich möchte die Protokolle nicht behalten" finden Sie die Protokolldatei in /tmp/
wenn Sie stdout_logfile
Standard beibehalten. Normalerweise wird der /tmp/
Pfad von tmpfs gemountet (https://en.wikipedia.org/wiki/Tmpfs), also…… möchten Sie es?
@cupen Was Sie grundsätzlich vorgeschlagen haben, ist, Protokolldateien im Verzeichnis /tmp
zu speichern. Das habe ich nicht gefragt.
Außerdem ist /tmp/
kein Standardverzeichnis für Protokolldateien in Supervisor, und es ist ein schlechter Ratschlag, Protokolle auf tmpfs zu speichern, da es RAM-Speicherplatz belegt.
Ist es möglich, die Dateiprotokollierung eines Programms zu deaktivieren, aber die Ausgabe im Vordergrund zu sehen (supervisorctl fg
)?
Nein, denn intern verwendet der Befehl fg
denselben Mechanismus wie der Befehl tail
, der das Protokoll von der Festplatte liest. Sie können stdout_logfile_maxbytes
auf eine niedrige Zahl (z. B. 1K) und stdout_logfile_backups
auf 0 setzen, um zu verhindern, dass viel Speicherplatz belegt wird. Es würde viel Mühe kosten, die Funktionsweise von fg
zu ändern. Es ist unwahrscheinlich, dass wir dies ändern, da es eine Problemumgehung gibt.