Ich bin eine Flask Web-App mit Gunicorn + Nginx. Ich laufe Gunicorn in daemon
Modus. Ich habe Gunicorn und Nginx konfiguriert, um ihren Zugriff und Fehler auf Dateien zu protokollieren. Aber ich kann Flask-Logs einfach nicht in eine Datei bringen.Logging Arbeit für Flask kann nicht mit Gunicorn Daemon-Modus
Ich benutze eine Shell-Datei meine app mit gunicorn zu starten:
Und in meinem Kolben app ich laut doc add Anmeldung erfordert:
app.debug = False
...
if __name__ == '__main__':
if app.debug != True:
import logging
from logging.handlers import RotatingFileHandler
handler = RotatingFileHandler("flask.log", maxBytes=10000, backupCount=1)
handler.setLevel(logging.DEBUG)
app.logger.addHandler(handler)
app.logger.debug("test!!")
app.run()
Ich habe auch app.logger.debug
an anderen Orten .
Wenn ich gunicorn
ohne --daemon
starte, funktioniert die Protokolldatei einwandfrei. Aber sobald ich --daemon
hinzufügen, werden keine Protokolle generiert.
Ich habe versucht, print
zu verwenden, aber es funktioniert nur ohne --daemon
auch.
Ich habe eine Weile gesucht und it seems Gunicorn unterstützt keine Anwendungsprotokollierung. Aber ich dachte, das Logging in eine Datei wäre in Ordnung?
Weiß jemand, wie ich mich unter meinen Einstellungen in einer Datei ausloggen könnte?
Denn wer Downvoted die Frage schätze ich Ihre Bemühungen um die Qualität der Fragen hier zu halten, aber eine Erklärung wäre hilfreich gewesen. – Yulong
Sofern Sie nicht Single-Server und Stateful bleiben wollen, würde ich vorschlagen, die Protokollierung in eine Datei zu vermeiden und direkt in ein Remote-Syslog oder irgendetwas anderes zu protokollieren, wenn Ihre Server zerstört und neu erstellt werden müssen. – rbanffy