Protokollierung Fläschchen Fehler mit mod_wsgi
Ich habe versucht, diese zu arbeiten, da eine lange Zeit, aber ich bin echt mit meinem Latein nun am Ende. Ich habe versucht, alles zu tun, dass ich finden konnte, auf SO und Kolben Dokumentation und immer noch kann ich nicht einen einfachen error-log arbeiten, so dass ich Debuggen kann meine applcation. Unten ist der eingefügte code -
# 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, wohin ich gehe falsch. Ich danke Ihnen so sehr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den spezifischen Fehler, die Sie erstellt haben, das war ein syntax-Fehler, verursacht hätte scheitern der WSGI-Skript-Datei auch laden, in mod_wsgi. Der Fehler für diese würde haben landete in der Apache-error-log-Datei, nicht die log-Datei, die Sie setup mithilfe der logging-Modul. Haben Sie sah in der Apache-error-log-Datei?
Für eine Ausnahme ausgelöst bei Anforderung Ausführung, Kolben standardmäßig schalten Sie es in einen 500-Fehler Seite und sonst unterdrückt die Anzeige der details. Müssen Sie die Kolben, um E-mail oder melden Sie solche runtime-exceptions in andere Wege pro:
http://flask.pocoo.org/docs/errorhandling/
Wenn Sie möchten, eine Laufzeit-exception angezeigt werden, in der 500-Seite an den browser zurückgegeben werden zum Zweck der Entwicklung, Sie brauchen, um Kolben debug-Modus. Dies wird durch die Einstellung app.debug, um Wahr zu sein:
http://flask.pocoo.org/docs/config/?highlight=app%20debug
Sollten Sie nicht den debug-Modus aktiviert ein Benutzer gerichteten Produktions-system.
Benötigen Sie zum generieren eines Laufzeit Ausnahme, nicht eine compile-Zeit Ausnahme. Ein fehlendes Angebot ist eine compile-Zeit-Ausnahme und Ihre logging-code wird niemals ausgeführt werden.
Nur eine Ausnahme auslösen statt: