Flacon application traceback n'apparaît pas dans les logs du serveur
Je fais tourner mon Flacon d'application avec uWSGI et de nginx. Il y a une erreur 500, mais le traceback n'apparaît pas dans le navigateur ou les journaux. Comment faire pour me connecter le traceback de Flacon?
uwsgi --http-socket 127.0.0.1:9000 --wsgi-file /var/webapps/magicws/service.py --module service:app --uid www-data --gid www-data --logto /var/log/magicws/magicapp.log
La uWSGI journal ne montre que les 500 code d'état, et non pas le traceback. Il n'y a aussi rien dans la nginx journal.
[pid: 18343|app: 0|req: 1/1] 127.0.0.1 () {34 vars in 642 bytes}
[Tue Sep 22 15:50:52 2015]
GET /getinfo?color=White => generated 291 bytes in 64 msecs (HTTP/1.0 500)
2 headers in 84 bytes (1 switches on core 0)
OriginalL'auteur Phil Cote | 2015-09-22
Vous devez vous connecter pour publier un commentaire.
Exécuter en mode de développement par la mise en au
FLASK_ENV
variable d'environnement pourdevelopment
. Les erreurs non gérées montrera une trace de la pile dans le terminal et le navigateur au lieu d'un générique de la page d'erreur 500.Avant Flacon 1.0, utilisation
FLASK_DEBUG=1
à la place.Si vous êtes toujours à l'aide de
app.run
(qui n'est plus recommandé en Flacon de 0,11), passerdebug=True
.En production, vous ne voulez pas exécuter votre application en mode debug. Au lieu de cela, vous devez vous connecter les erreurs dans un fichier.
Flacon utilise le standard de Python bibliothèque de journalisation peut être configuré pour enregistrer les erreurs. Insérez la suite d'avoir envoyer Flacon de messages dans un fichier log.
Lire plus sur le Python la journalisation module. En particulier, vous pouvez modifier l'emplacement où les erreurs sont enregistrées, ou de changer le niveau d'enregistrement plus que juste des erreurs.
Flacon a de la documentation pour configuration de la connexion et les erreurs de manipulation.
OriginalL'auteur lv9
Vous pouvez définir la
FLASK_DEBUG=1
variable d'environnement lors de l'exécution de l'application en tant que service. Faire cela seulement temporairement, et note que le fait d'activer le mode de débogage sur un serveur de production est un problème de sécurité.Upstart (par défaut dans Ubuntu 14.04)
Systemd (par défaut dans Ubuntu, 16.04, Arch)
Supervisord
Généralement, les journaux seront quelque part dans
/var/log/
.OriginalL'auteur I Am Batman