In der Entwicklungsumgebung (DEBUG = True) zeigt django einen Fehlerbildschirm mit einer vertrauten und nützlichen Stapelverfolgung an, wenn in der Ansicht ein Fehler auftritt.
In einer Produktionsumgebung wird jedoch eine E-Mail an die in ADMINS festgelegte E-Mail-Adresse gesendet, die angibt, dass ein Fehler aufgetreten ist.
Wenn Sie slack_log_handler verwenden, wird der Inhalt des Fehlers an slack gesendet.
Ich habe Django-Malice erstellt, denn wenn etwas nach einem Fehler funktioniert, muss ich es richtig überprüfen.
Es enthält auch eine Seite, die HTTP 200 OK zurückgibt, um das normale System (HeartBeat usw.) zu überprüfen.
django-malice (GitHub Repository)
――Es ist mühsam, eine Ansicht vorzubereiten, um absichtlich einen Fehler zu verursachen, um Folgendes zu überprüfen. Dann machen und verteilen.
$ pip install django-malice
INSTALLED_APPS = [
...
"malice",
]
url(r'^malice/', include('malice.urls', namespace='malice')),
Hinweis: In einer Produktionsumgebung ist es sicherer, die URL in eine Zeichenfolge zu ändern, die der Angreifer nicht vorhersagen kann.
Beispiel:
view_urlpatterns = [
...
url(r'^all-your-error-are-belong-to-us-2101/', include('malice.urls', namespace='malice')),
...
]
$ ./manage.py runserver 0.0.0.0:8000
Stellen Sie sicher, dass andere URLs als 200 einen Fehler zurückgeben.
Wenn DEBUG True ist, wird keine E-Mail an ADMINS gesendet. Setzen Sie daher das DEBUG-Flag auf False und stellen Sie sicher, dass ein Fehlerbericht gesendet wird.
Diese Anwendung erstellte Tests in Circleci, verpackte und verteilte sie während der Zeit des Django-Meetups in Pypi.
Vielen Dank an BeProuds https://twitter.com/hirokiky und https://twitter.com/shimizukawa für die Ausrichtung der Veranstaltung hier!
Wenn du Zeit hast, warum nimmst du nicht am Django-Treffen teil?
Recommended Posts