我正在寻找有关使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/。