Einschließlich lokaler Variablen in Django-Fehler-E-Mails

8

Ich habe eine Website in Django gebaut.

Wenn auf der Produktionsseite ein Fehler auftritt, sendet Django automatisch eine Stapelüberwachung an die E-Mail-Adressen, die in der Liste ADMINS in settings.py aufgeführt sind.

Ich möchte, dass dieser Stack-Trace lokale Variablen für jeden Stack-Frame enthält (wie der Standard-Stack-Trace, wenn sich der Standort im Debug-Modus befindet).

Irgendwelche Ideen?

Danke!

    
bbrame 22.03.2013, 13:25
quelle

1 Antwort

9

Es ist wirklich einfach, dies einzurichten. Setzen Sie einfach 'include_html': True in die Logging-Konfiguration des jeweiligen Handlers, der Fehler-E-Mails für Sie versendet.

Zum Beispiel (dies ist der Standard-Logging-Handler neben der Zeile "include_html"):

%Vor%

Dies beinhaltet eine HTML-Anlage in der Fehler-E-Mail mit dem Inhalt der Fehlerseite, die Sie erhalten, wenn DEBUG = True. Die Django-Dokumentation enthält einige weitere Details und einen Hinweis zur Sicherheit .

Sie können auch einen Logging-Handler einrichten, der Unterklassen von django.utils.log.AdminEmailHandler und django.views.debug.ExceptionReporter verwendet, wenn Sie die Dinge viel mehr anpassen müssen.

    
Kevin 24.03.2013, 00:29
quelle