当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django CallbackFilter用法及代码示例


本文介绍 django.utils.log.CallbackFilter 的用法。

声明

class CallbackFilter(callback)[source]

这个过滤器接受一个回调函数(它应该接受一个参数,即要记录的记录),并为通过过滤器的每条记录调用它。如果回调返回 False,则不会继续处理该记录。

例如,要从管理员电子邮件中过滤掉 UnreadablePostError (当用户取消上传时引发),您可以创建一个过滤器函数:

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

然后将其添加到您的日志记录配置中:

'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',
    },
},

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.utils.log.CallbackFilter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。