Как перестать регистрировать отправку сообщения длиной в django / python - PullRequest
1 голос
/ 02 июля 2019

В моем проекте settings.py Django мой LOGGING диктуется как

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'loggers': {
        '': {
            'handlers': ['sentry'],
            'level': 'DEBUG',
            'propagate': False,
        },
    },
    'handlers': {
        'sentry': {
            'level': 'DEBUG',
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'
        }
    }
}

Теперь моя проблема в том, как только я выполню logging.debug("hello")

Он печатает сообщение в моей консолито есть

b'Sending message of length 781 to https://sentry.io/api/12345/store/'

Он успешно регистрируется на sentr, но как мне избавиться от печати этого сообщения в моей консоли?

1 Ответ

1 голос
/ 02 июля 2019

Имя вашего регистратора - пустая строка. Это означает, что это «root logger». Если позже вы используете logging, вы снова будете использовать этот регистратор.

Вы можете просто установить имя регистратора, например, 'sentrylogger':

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'loggers': {
        # set the name of the logger to a <i>non</i>-empty string
        <b>'sentrylogger'</b>: {
            'handlers': ['sentry'],
            'level': 'DEBUG',
            'propagate': False,
        },
    },
    'handlers': {
        'sentry': {
            'level': 'DEBUG',
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'
        }
    }
}

Конечно, если вы сделаете регистратор позже, вы должны не назвать его 'sentrylogger'. Например:

import logging

logger = logging.getLogger('sentrylogger')

logger.debug('hello')

снова приведет к тому же поведению. Так что, пока вы даете регистратору другое имя или используете корневой регистратор, проблем не возникает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...