我正在尋找一種獲取403錯誤的方法,以便通過完整的堆棧跟蹤和請求轉儲觸發管理員錯誤電子郵件 - 類似於500錯誤。在Django中設置日誌以電子郵件發送403錯誤(CSRF錯誤)
具體如何將它添加到我的日誌記錄配置CSRF中間件發出警告級別消息。但我不希望所有django.request警告消息,只有403S ..
將工作我正在尋找一種獲取403錯誤的方法,以便通過完整的堆棧跟蹤和請求轉儲觸發管理員錯誤電子郵件 - 類似於500錯誤。在Django中設置日誌以電子郵件發送403錯誤(CSRF錯誤)
具體如何將它添加到我的日誌記錄配置CSRF中間件發出警告級別消息。但我不希望所有django.request警告消息,只有403S ..
將工作一種方法是使用自定義的403處理器視圖,並調用mail_admins
從那裏:
在你urls.py
,添加
handler403 = 'myproj.myviews.error403'
在myviews.py
:
def error403(request):
"""
Custom handling of 403s, to send an email to the admins
"""
mail_admins(
"403 alert",
"%s got hit in the face with Forbidden shovel" % request.user
)
# NB: this isn't a robust reporting message as
#may not be partic suited to anonymous users
return HttpResponseForbidden()
理想情況下,你的郵件需要進行排隊和發送異步到PR事件你的用戶不得不等待,但這是一個單獨的事情。
不錯解決辦法 - 理想情況下,我想將其添加到我的日誌記錄配置中,但如果不是這樣,這也可以解決問題。 –
通過適當設置的日誌記錄,您可以在視圖中提高logger.critical()而不是mail_admins,並且這將使記錄器設置報告它 –
好點謝謝 –
你看了這頁嗎? https://docs.djangoproject.com/en/dev/howto/error-reporting/ –
https://docs.djangoproject.com/zh/dev/topics/logging/更有用,但仍然不那麼清楚 –