所以我试图在Django程序中设置日志记录。我在settings.py中设置了日志记录配置:
DEBUG = True
LOGGING_CONFIG = None
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'custom': {
'format': '%(asctime)s %(levelname)-8s %(name)-15s %(message)s'
}
},
'handlers': {
'console': {
'level': 'NOTSET',
'class': 'logging.StreamHandler',
'formatter': 'custom'
}
},
'loggers': {
'': {
'handlers': ['console'],
}
}
}
import logging.config
logging.config.dictConfig(LOGGING)
然后执行以下操作:
import logging
logger = logging.getLogger(__name__)
logger.info("INFO")
logger.debug("DEBUG")
logger.warn("WARN")
logger.critical("CRITICAL")
logger.error("ERROR")
但是我只得到以下输出:
2019-05-21 14:08:31,877 WARNING dashboards.charts WARN
2019-05-21 14:08:31,877 CRITICAL dashboards.charts CRITICAL
2019-05-21 14:08:31,877 ERROR dashboards.charts ERROR
我尝试将级别更改为DEBUG或info,但是没有任何改变。格式化程序可以正常工作,所以我不知道为什么该级别不起作用。
答案 0 :(得分:1)
尝试将level
而不是loggers
放在handlers
内。
例如:
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'custom'
}
},
'loggers': {
'': {
'handlers': ['console'],
'level': 'DEBUG'
}
}