1
0
mirror of https://github.com/django/django.git synced 2025-06-07 12:39:12 +00:00

[1.4.x] Fixed #17069 -- Added log filter example to docs.

Backport of e06189f7ceb48013b37b902588bea6750c989b14 from master.
This commit is contained in:
Tim Graham 2012-08-22 17:36:46 -07:00
parent 27c2ccc1ea
commit 4b8c6c4056

View File

@ -516,6 +516,35 @@ logging module.
through the filter. Handling of that record will not proceed if the callback through the filter. Handling of that record will not proceed if the callback
returns False. returns False.
For instance, to filter out :class:`~django.http.UnreadablePostError`
(raised when a user cancels an upload) from the admin emails, you would
create a filter function::
from django.http import UnreadablePostError
def skip_unreadable_post(record):
if record.exc_info:
exc_type, exc_value = record.exc_info[:2]
if isinstance(exc_value, UnreadablePostError):
return False
return True
and then add it to your logging config::
'filters': {
'skip_unreadable_posts': {
'()': 'django.utils.log.CallbackFilter',
'callback': skip_unreadable_post,
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['skip_unreadable_posts'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
.. class:: RequireDebugFalse() .. class:: RequireDebugFalse()
.. versionadded:: 1.4 .. versionadded:: 1.4