Hoe kan ik Django 1.0 te schrijven alle fouten op de console of een logbestand bij het uitvoeren van runserver in debug-modus?
Ik heb geprobeerd met behulp van een middleware klas met process_exception werken zoals beschreven in de geaccepteerde antwoord op deze vraag:
Hoe ga je server fouten op Django websites aanmelden
De process_exception functie wordt aangeroepen voor bepaalde uitzonderingen (bv: assert (Valse) in views.py), maar process_exception krijgt niet opgeroepen voor andere fouten zoals ImportErrors (bijvoorbeeld: import thisclassdoesnotexist in urs.py). Ik ben nieuw in Django / Python. Is dit vanwege een onderscheid tussen run-time en compile-time fouten? Maar dan zou ik verwachten runserver te klagen als het was een compilatie fout en het niet.
Ik heb fantastische presentatie Simon Willison op Django debugging (keken http://simonwillison.net/2008/May/22/debugging/ ), maar ik heb niet zien een optie die goed zou werken voor mij.
In het geval dat het relevant is, ben ik het schrijven van een Facebook app en Facebook maskers HTTP 500 fouten met hun eigen bericht eerder dan het tonen van Django's vreselijk informatieve 500 pagina's. Dus ik moet een manier voor alle soorten fouten worden geschreven naar de console of het bestand.
Edit: Ik denk dat mijn verwachting is dat als Django een 500 error pagina kan terugkeren met veel detail als ik een slechte import (ImportError) in urls.py, moet hij in staat om hetzelfde detail aan de console of een bestand te schrijven zonder hoeven geen extra exception handling toe te voegen aan de code. Ik heb nog nooit exception handling rond import statements gezien.
Bedankt, Jeff













