Commit e06189f7 authored by Tim Graham's avatar Tim Graham
Browse files

Merge pull request #297 from mjjohnson/ticket_17069

Fixed #17069 -- Added log filter example to docs.
parents 7cfe8e8f 32ffcb21
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -516,6 +516,35 @@ logging module.
   through the filter. Handling of that record will not proceed if the callback
   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()

   .. versionadded:: 1.4