Protokollierung in python + mod_wsgi app
Habe ich bereitgestellt ein python-flask-app auf einem apache-server. Hier ist mein abc.conf
Datei:
WSGIDaemonProcess voting_app threads=5
WSGIScriptAlias /election /var/www/voting_app/voting.wsgi
LogLevel info
ErrorLog "/var/www/voting_app/error.log"
CustomLog "/var/www/voting_app/access.log" combined
<Directory /var/www/voting_app>
WSGIProcessGroup voting_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Prüfen, Debuggen, machte ich einen syntax-Fehler in meiner Anwendung. Nach dem Neustart des Servers bekomme ich einen 500 server-Fehler, aber ich kann nicht sehen, die details der Fehler überall. Ich habe die zwei Dateien, die ich Hinzugefügt, wie die Protokolle - Sie sind komplett leer. So sind die log-Dateien in /var/log/apache2
. Was vermisse ich hier?
InformationsquelleAutor Prakhar | 2012-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim laufen Kolben in einer Produktion einstellen, anstatt mit dem eingebauten development-server, konvertiert die Anwendung von Ausnahmen in HTTP-500 Antworten, aber kein log-nichts. Also, was Sie sehen, ist normal.
Wenn Sie sind der einzige, der eine Seite anzeigt, können Sie den debug-Modus aktivieren vorübergehend wie wäre erfolgt automatisch mit der Entwicklungs-server. Für wie dies zu tun finden Sie unter:
http://flask.pocoo.org/docs/quickstart/#debug-mode
Speziell:
wo 'app' ist die Flasche Instanz der Klasse.
Dadurch wird die details der Fehler werden angezeigt im browser, der die Anfrage.
Auf einer wahren Produktions-system, das Sie offensichtlich nicht benutzen sollte, also in diesem Fall sollten Sie Fläschchen zu melden solcher Fehler in der Anwendung. Für die, die sehen:
http://flask.pocoo.org/docs/errorhandling/
InformationsquelleAutor Graham Dumpleton
Haben Sie überprüfen, ob Apache Schreibrechte in der
voting_app
Verzeichnis?InformationsquelleAutor mtth
Wenn Sie auf Ubuntu 11.10 oder höher, dann werden Sie möglicherweise gebissen zu werden von dieser bug. Offenbar, wenn das Python-subprocess Abstürze sollte es werden dumping der stacktrace auf der Apache-log, aber es nicht zu tun so in einigen Fällen. Das bug-report bezieht sich auf ein weiterer bug-report mit den Entwicklern von mod_wsgi. Der reporter einige Fortschritte beim Debuggen des Problems, aber steckengeblieben Weg zurück in 2013, und AFAICT Fortschritt hat seitdem nicht mehr.
Zumindest für den Moment sollten Sie einfach Folgen, Graham Dumpleton Antwort und konfigurieren Sie einen logger für Ihre Anwendung, wie beschrieben, durch die Kolben in der Dokumentation. Möchten Sie vielleicht zu wickeln, die logger-Konfiguration code in einen try-except-block im Falle der ersten setup schlägt fehl.
InformationsquelleAutor jgibson