防止Python记录器中的错误重复输出

时间:2014-09-08 12:59:14

标签: python logging

我在pythong LOGGING确认中获得异常和错误的重复日志记录输出。根据配置,这是有道理的:

LOGGING = {
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'sentry': {
            'level': 'WARNING',
            'class': 'raven.contrib.django.handlers.SentryHandler',
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
    },
    'root': {
        'level': 'ERROR',   # Give me errors only
        'handlers': ['mail_admins', 'sentry', 'console'],
    },
    'apps.order_shipping': {
        # This module needs extra debugging, but now ERROR is duplicated
        'handlers': ['console'],
        'level': 'DEBUG',
    },
}

如何以更好的方式实现这一点? 我想为某些模块启用详细程度,而不会导致重复ERROR消息。

1 个答案:

答案 0 :(得分:3)

propagate设为False

{
# ...
    'apps.order_shipping': {
        # This module needs extra debugging, but now ERROR is duplicated
        'handlers': ['console'],
        'level': 'DEBUG',
        'propagate': False,
    },
}