在django / python日志记录中传播条目

时间:2018-11-12 22:19:53

标签: python django python-3.x

我正在寻找有关使propagate为真或为假的区别的实用解释。这是我当前拥有的记录器:

LOGGING = {
    'formatters': {
        'default': {
            'format': '[%(asctime)s] %(filename)s:%(lineno)d@%(funcName)s [%(levelname)s] %(message)s',
        },
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'formatter': 'default'
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'default'
        },
    },
    'loggers': {
        'app': {
            'handlers': ['console', 'mail_admins'],
            'level': 'INFO',
            'propagate': True,
        },
    }
}

如果我将propagate设置为False,在上述情况下会发生什么?它是否仍会向mail_admins发送消息,还是只使用第一项?这两种设置之间的区别到底是什么,除了这里的django文档中所说的:https://docs.djangoproject.com/en/2.1/topics/logging/

0 个答案:

没有答案