Ich habe eine Funktion log_error (Anfrage, Traceback) erstellt, die ich in meinen Ausnahmen aufrufen. Dies schreibt Fehlerinformationen in die Datenbank. Nun, bevor ich alle meine Ansichten öffne und dies in einem Exception-Handler hinzufüge, gibt es eine Möglichkeit, automatisch alle Exceptions auf eine Funktion zu erhöhen, die dann diese aufruft?Python/Django: automatisch protokollieren, wenn Ausnahmen auftreten, einschließlich Anfrage Info
Ich habe dieses Python error logging gesehen, das sagt, um Ihre eigene Version von sys.excepthook zu schreiben. Diese Funktion wird automatisch aufgerufen, wenn eine Ausnahme vorliegt. Ich habe das versucht, aber my_excepthook wurde nicht aufgerufen, obwohl ich die Lösung in views.py kopiert und einen Fehler ausgegeben habe. Ich habe mich jedoch nicht zu sehr bemüht, weil es sowieso nicht alle Informationen bekommt, die ich brauche. Ich brauche auch Anfrage, damit ich Informationen über den Benutzer, URL, etc. protokollieren kann.
Vielleicht fragt das zu viel?
(Ich benutze Django, aber das scheint nicht wie eine Django-spezifische Sache) Edit: Ja, ist es.
"sys.excepthook" wird nur für nicht behandelte Ausnahmen oder solche, die von ihrem Handler erneut ausgelöst werden, aufgerufen. Das könnte der Grund sein, warum es beim Versuch nicht funktionierte. Zum größten Teil ist die einzige Information, die es hat, was es als Argumente übergeben hat. Du könntest zusätzliche Informationen irgendwo speichern und deine Version dort dort suchen lassen. – martineau
[Django kann so konfiguriert werden, dass alle nicht behandelten Ausnahmen gemeldet werden] (https://docs.djangoproject.com/en/dev/howto/error-reporting/) – jfs
@ J.F. Sebastian. Der Fehler Weg funktioniert. Ich habe eine Lösung geschrieben. Vielen Dank. – user984003