Ich habe versucht, dies funktioniert seit langer Zeit, aber ich bin wirklich am Ende meines Wissens jetzt. Ich habe versucht, alles zu tun, was ich auf der SO- und Flaschendokumentation finden konnte, und dennoch kann ich kein einfaches Fehlerprotokoll erstellen, so dass ich meine Anwendung debuggen kann. Unten ist der eingefügte Code -Logging Flasher Fehler mit mod_wsgi
# main.py
from flask import Flask
import logging
app = Flask(__name__)
file_handler = logging.FileHandler(filename='/tmp/election_error.log')
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)
@app.route('/')
def hello():
return "hello
#missing quotes to generate error
if __name__ == "__main__":
app.run()
#wsgi file
import sys
import logging
sys.path.insert(0, "/var/www/voting_app")
logging.basicConfig(stream=sys.stderr)
from main import app as application
# apache2 conf file
WSGIDaemonProcess voting_app threads=5
WSGIScriptAlias /election /var/www/voting_app/voting_app.wsgi
LogLevel info
<Directory /var/www/voting_app>
WSGIProcessGroup voting_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
Bitte sagen Sie mir, wo ich falsch liege. Ich danke dir sehr.
Das funktioniert! Aber was ist mit anderen Fehlern? Dies ist ein Dummy main.py, das ich erstellt habe. I eine, die ich habe, gibt eine 500 Fehler, aber die Protokolldatei sieht leer aus? Was kann ich tun, um alle Arten von Fehlern zu erfassen, wie sie auf dem Entwicklungsserver angezeigt werden? Danke – Prakhar
@Prakhar: Sie können * die meisten * Ausnahmen erfassen. Einfach nicht Syntaxfehler, testen Sie Ihren Code vor der Bereitstellung, um diese zu erfassen. –
Wenn in der Produktion immer noch ein 500-Fehler angezeigt wird, wird Ihr Flaschencode nicht ausgeführt. das könnte ein Konfigurationsfehler oder ein Syntaxfehler sein, und Sie können solche nicht fangen. Überprüfen Sie die Protokolle Ihres WSGI-Servers. –