Dans l'environnement de développement (DEBUG = True), django affiche un écran d'erreur avec une trace de pile familière et utile lorsqu'une erreur se produit sur la vue.
Cependant, dans le cas d'un environnement de production, un e-mail indiquant une erreur est envoyé à l'adresse e-mail définie dans ADMINS.
De plus, si vous utilisez slack_log_handler, le contenu de l'erreur sera envoyé sur slack.
J'ai créé django-malice car si quelque chose fonctionne après une erreur, je dois le vérifier correctement.
--Fournit une vue pour déclencher intentionnellement l'erreur suivante
Il fournit également une page qui renvoie HTTP 200 OK pour vérifier le système normal (HeartBeat, etc.).
django-malice (GitHub Repository)
―― Il est difficile de préparer une vue pour provoquer une erreur intentionnellement pour vérifier les éléments suivants. Puis fabriquez et distribuez. --Je veux vérifier si le rapport d'erreur est envoyé correctement --Je veux vérifier si l'opération déclenchée par la journalisation ou l'erreur est correctement conduite.
$ pip install django-malice
INSTALLED_APPS = [
...
"malice",
]
url(r'^malice/', include('malice.urls', namespace='malice')),
Remarque: Dans un environnement de production, il est plus sûr de changer l'URL en une chaîne que l'attaquant ne peut pas prédire.
Exemple:
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
Assurez-vous que les URL autres que 200 renvoient une erreur.
Si DEBUG a la valeur True, aucun courrier ne sera envoyé à ADMINS, définissez donc l'indicateur DEBUG sur False et assurez-vous qu'un rapport d'erreur est envoyé.
Cette application a construit des tests dans circleci, emballés et distribués dans Pypi tout au long de la rencontre de django.
Merci à BeProud https://twitter.com/hirokiky et https://twitter.com/shimizukawa pour avoir accueilli l'événement ici!
Si vous avez le temps, pourquoi ne pas rejoindre django Meetup!
Recommended Posts