Ведение журнала Django не работает на всех уровнях с действительным конфигом? - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть действующая конфигурация django в моем settings.py, я знаю это, поскольку путь к файлу учитывается для RotatingFileHandler. Моя проблема в том, что журналы регистрации. Отладка не распечатывается в файл.

Ниже приведены мои настройки и файл, в котором запущен регистратор:

# settings.py
DJANGO_LOG_LEVEL = logging.DEBUG
DEFAULT_LOG_PATH = 'foo/logs/foo.log'

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format': 'TEST {asctime} {module} {levelname} {message}',
            'style': '{'
        },
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
        'default': {
            'level': DJANGO_LOG_LEVEL,
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': DEFAULT_LOG_PATH,
            'formatter': 'standard'
        },
    },
    'loggers': {
        'kapsule': {
            'handlers': ['default'],
            'level': logging.DEBUG,
        },
    },
}

# foo.py
logger = logging.getLogger("foo.monitor")
logger.debug('debug') # nothing
logger.info('info') # printed fine
logger.warning('warning') # printed fine
logger.error('error') # printed fine
logger.critical('critical') # printed fine

Почему это происходит?

1 Ответ

0 голосов
/ 02 апреля 2019

Эта полезная маленькая строчка была найдена в совершенно отдельном файле, в котором отключено ведение журнала на уровне отладки, после того как это было удалено, ведение журнала работало должным образом:

# bar.py
logging.disable(logging.DEBUG)

документацию можно найти здесь . Я надеюсь, что это может спасти кого-то еще от нескольких часов разочарования.

...