Come posso ottenere Django 1.0 a scrivere tutti gli errori alla console o un file di log durante l'esecuzione runserver in modalità debug?
Ho provato con una classe middleware con funzione di process_exception come descritto nella risposta accettata a questa domanda:
Come si accede errori del server su siti Django
La funzione process_exception viene chiamata per alcune eccezioni (ad esempio: assert (Falso) in views.py), ma process_exception non è sempre chiamato per altri errori come ImportErrors (ad esempio: import thisclassdoesnotexist in urs.py). Sono nuovo a Django / Python. È questo a causa di una certa distinzione tra fase di esecuzione e in fase di compilazione errori? Ma poi mi aspetterei runserver a lamentarsi se si trattava di un errore di compilazione e non è così.
Ho guardato fantastica presentazione di Simon Willison su Django debugging ( http://simonwillison.net/2008/May/22/debugging/ ), ma non ho visto un'opzione che avrebbe funzionato bene per me.
Nel caso in cui è rilevante, sto scrivendo un applicazione Facebook e Facebook maschere HTTP 500 errori con il proprio messaggio, piuttosto che mostrare incredibilmente informativo pagina di Django 500. Quindi ho bisogno di un modo per tutti i tipi di errori da scrivere alla console o al file.
Edit: Credo che la mia aspettativa è che se Django può restituire una pagina di errore 500 con un sacco di dettagli quando ho un cattivo di importazione (ImportError) in urls.py, dovrebbe essere in grado di scrivere lo stesso dettaglio per la console o un file senza dover aggiungere alcun ulteriore gestione delle eccezioni al codice. Non ho mai visto la gestione delle eccezioni in giro istruzioni import.
Grazie, Jeff













