Как регистрировать журналы INFO в файле settings.py

Я пытаюсь регистрировать некоторые информационные сообщения конкретно в django settings.py. Я следую первому примеру в django documentation, который показывает простую конфигурацию. Единственное, что я изменил, это то, что журнал показывает сообщения уровня INFO. Когда я запускаю python manage.py runserver, сообщение журнала никогда не показывается. Журнал показывается только для уровня WARNING или выше (более критического).

Вот моя конфигурация, которая находится в settings.py

import logging
...
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    '': {
        'handlers': ['console'],
        'level': 'INFO',
        'propagate': True
    },
}
...
def do_something():
    logger.info('Doing Something')
do_something()

Примечание Я пытаюсь регистрировать утверждения только в моем файле settings.py на данный момент.

Попробуйте поместить ключ level внутрь обработчика

    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
        },
    },

Я только что протестировал это на своем локальном устройстве, мой логгер выглядит следующим образом [вырезано]: (Надеюсь, это поможет!)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
        },
    }
}

def do():
    import logging
    logger = logging.getLogger('django')
    logger.info('TEST')
Вернуться на верх