2010-06-28 7 views
1

Je travaille sur un projet qui reçoit des rappels de l'API d'autres sites. Je m'attends à ce que mon code ait quelques erreurs, car je suis nouveau sur Python & Django. Mon site en développement utilise mod_wsgi et Apache avec Debug = True;)Consignation des erreurs Django au lieu de les retourner pour inspecter le rappel de l'API

L'API dont je reçois les appels ajoute un paramètre à la chaîne de requête à mon rappel qui est construit en utilisant leur propre clé privée. Je n'ai donc aucun moyen de simuler avec précision cela. Si mon code échoue une fois que j'active mon code de validation de clé probablement défectueux, je n'ai aucun moyen de le savoir, sauf pour les journaux du serveur apache (qui n'affichent pas la pile réelle ou quoi que ce soit).

Comment puis-je enregistrer une exception python plus détaillée, comme celle que je vois habituellement dans mon navigateur toutes les 2 minutes;) dans un fichier? Particulièrement les variables locales autour de la ligne défectueuse sont évidemment intéressantes :)

Merci! :)

Répondre

2

Si vous définissez ADMINS dans votre settings.py (et que vous définissez DEBUG = False), vous recevrez toutes les 500 erreurs de serveur (comme la page d'erreur DEBUG). Toutefois, si vous voulez que votre application continue sans répondre avec un 500, vous pouvez importer la journalisation et écrire votre propre journal de débogage. Il y a un bon tutoriel ici:

http://simonwillison.net/2008/May/22/debugging/

+0

Wow, c'était rapide. Un excellent tutoriel pour une nouvelle connexion et un débogage python, merci. La section de journalisation dans le fichier était géniale, car je ne veux pas savoir où mod_python et apache mettraient la sortie de mes instructions d'impression. Merci! – rdrey

Questions connexes