Merge pull request #297 from mjjohnson/ticket_17069

Fixed #17069 -- Added log filter example to docs.
This commit is contained in:
Tim Graham 2012-08-22 17:36:46 -07:00
commit e06189f7ce
1 changed files with 29 additions and 0 deletions

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