我一直在我的django应用程序中创建一个简单的日志文件。我已尝试应用this question以及文档中的示例,但它似乎不起作用,我不知道出了什么问题。
我当前的日志文件,第二个示例直接来自doc:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django': {
'handlers': ['console'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
},
}
文档声明如下:
“此配置仅向控制台发送级别为INFO或更高级别的消息”
根据我的理解,如果我将其放入我的home.view.py
文件......
import logging
log = logging.getLogger(__name__)
log.debug("Hey there it works!!")
log.info("Hey there it works!!")
log.warn("Hey there it works!!")
log.error("Hey there it works!!")
...无论何时拨打info
,我都会将warn
,error
和home.views.py
消息打印到我的控制台,我认为当我访问正确的网址时发生。
这似乎是错误的。但是,似乎只打印了warn
和error
,并且只有在我运行manage.py collectstatic
时才会打印。
WARNING:home.views:Hey there it works!!
ERROR:home.views:Hey there it works!!
每当我访问从home.views.py
呈现的网页时,我都希望在控制台中收到日志消息。我该怎么做呢?
答案 0 :(得分:0)
此方法:
os.getenv('DJANGO_LOG_LEVEL', 'INFO')
首先尝试获取环境变量(如果已设置)。如果未设置则默认为第二个参数。它可能DJANGO_LOG_LEVEL
设置为高于INFO。
要测试此假设,请在您的环境中运行以下命令。
echo $DJANGO_LOG_LEVEL
确保1.未设置,或2.设置为INFO
export DJANGO_LOG_LEVEL=INFO