我的settings.py
中有一个有效的django配置,我知道这是因为RotatingFileHandler
的文件路径已被考虑在内。我的问题是logging.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
为什么会这样?
答案 0 :(得分:0)
在完全独立的文件中发现了这一有用的小行,该文件禁用了调试级别的日志记录,一旦将其删除,日志记录将按预期工作:
# bar.py
logging.disable(logging.DEBUG)
可以在here中找到文档。我希望这可以节省别人几个小时的挫败感。