我不确定为什么 django 没有记录低于“警告”级别的任何内容。我在视图中有这段代码:
logger = logging.getLogger(__name__)
def profile_data(request):
logging.info("INFO PROFILE DATA!!")
logging.debug("DEBUG PROFILE DATA!!")
logging.warning("WARNING PROFILE DATA!!")
logging.error("ERROR PROFILE DATA!!")
这在我的settings.py中:
# Logging
LOGGING = {
'version': 1,
# Version of logging
'disable_existing_loggers': False,
'filters': {
# information regarding filters
},
'formatters': {
'<simple_format>': {
'format': '{levelname} {message}',
'style': '{',
}
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/logs/log_file1.log',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler'
},
},
'loggers': {
'django': {
'handlers': ['file', 'console'],
'level': 'DEBUG',
},
'root': {
'handlers': ['file', 'console'],
'level': 'DEBUG',
}
}
}
如您所见,我尝试将所有内容设置为 DEBUG 级别,它不起作用,我只看到这是终端中的警告和错误级别:
WARNING:root:WARNING PROFILE DATA!!
ERROR:root:ERROR PROFILE DATA!!
编辑
将记录器声明更改为:
logger = logging.getLogger('app_logger')
呼吁:
logger.info("INFO PROFILE DATA!!")
以及新名称的设置,当然:
'loggers': {
'app_logger': {
'handlers': ['file', 'console'],
'level': 'DEBUG',
},
但它仍然只打印 WARNING 及以上。我什么时候声明一个新的记录器?不应该logging.getLogger()
在设置中声明记录器?我应该如何在我的视图中导入该记录器?
此外,尝试按照下面的答案()的建议将记录器添加到 dict 键的顶层,'app_logger': {"level": "DEBUG", "handler": "console"},
但它不起作用。