Django: невозможно настроить обработчик «консоли» - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть простое определение регистрации в файле settings.py:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '[%(asctime)s] %(levelname)s %(message)s',
        },
        'verbose': {
            'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatters': 'simple',
            'propagate': False
        }
    },
    'loggers': {
        'myapp': {
            'handlers': ['console'],
            'level': 'DEBUG'
         },
    }
}

Когда я запускаю свою программу, я получаю сообщение об ошибке:

ValueError: Unable to configure handler 'console'

Что происходит не так?

1 Ответ

1 голос
/ 22 апреля 2019

propagate не опция для обработчиков, а для регистраторов. Так что ваша конфигурация должна быть.

'handlers': {
    'console': {
        'level': 'DEBUG',
        'class': 'logging.StreamHandler',
        'formatter': 'simple',
    }
},
'loggers': {
    'myapp': {
        'handlers': ['console'],
        'level': 'DEBUG',
        'propagate': False
     },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...