Ho creato una funzione log_error (request, traceback), che chiamo nelle mie eccezioni. Questo scrive le informazioni di errore nel database. Ora, prima di aprire ognuna delle mie viste e aggiungerlo in un gestore di eccezioni, esiste un modo per far sì che tutte le eccezioni aumentino automaticamente a una funzione, che quindi chiama questo?Python/Django: registra automaticamente quando si verificano eccezioni, incluse le informazioni sulla richiesta
Ho visto questo Python error logging, che dice di scrivere la propria versione di sys.excepthook. Questa funzione viene automaticamente chiamata quando c'è un'eccezione. Ho provato questo, ma my_excepthook non è stato chiamato anche se ho copiato la soluzione in views.py e generato un errore. Tuttavia, non ho provato troppo perché non ho tutte le informazioni di cui ho bisogno, comunque. Ho anche bisogno di una richiesta in modo da poter registrare le informazioni sull'utente, sull'URL, ecc.
Forse è chiedere troppo?
(Sto usando Django, ma questa non sembra una cosa specifica per Django) Modifica: sì, lo è.
'sys.excepthook' viene chiamato solo per le eccezioni non gestite, o quelle che vengono re-sollevate dal gestore, che potrebbe essere il motivo per cui non sembra funzionare quando lo hai provato. Per la maggior parte l'unica informazione che ha è ciò che è passato come argomenti. Potresti memorizzare informazioni aggiuntive da qualche parte e vedere la tua versione lì per lì. – martineau
[Django può essere configurato per segnalare tutte le eccezioni non gestite] (https://docs.djangoproject.com/en/dev/howto/error-reporting/) – jfs
@ J.F. Sebastian. Il modo di errore funziona. Ho scritto una soluzione. Grazie. – user984003