#django #logging
#django #ведение журнала
Вопрос:
У меня есть допустимая конфигурация django в моем settings.py
, я знаю это, поскольку путь к файлу учитывается для RotatingFileHandler
. Моя проблема в том, что журналы ведения журнала.DEBUG не печатаются в файл.
Мои настройки и файл, в котором запускается регистратор, приведены ниже:
# 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:
Эта полезная маленькая строка была найдена в совершенно отдельном файле, который отключил ведение журнала на уровне отладки, как только это было удалено, ведение журнала работало так, как ожидалось:
# bar.py
logging.disable(logging.DEBUG)
документацию можно найти здесь. Я надеюсь, что это может спасти кого-то еще от нескольких часов разочарования.