在Django 1.7.11中简单登录到控制台

时间:2017-11-08 20:58:31

标签: python django

我一直在我的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,我都会将warnerrorhome.views.py消息打印到我的控制台,我认为当我访问正确的网址时发生。

这似乎是错误的。但是,似乎只打印了warnerror,并且只有在我运行manage.py collectstatic时才会打印。

WARNING:home.views:Hey there it works!!
ERROR:home.views:Hey there it works!!

每当我访问从home.views.py呈现的网页时,我都希望在控制台中收到日志消息。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

此方法:

os.getenv('DJANGO_LOG_LEVEL', 'INFO')

首先尝试获取环境变量(如果已设置)。如果未设置则默认为第二个参数。它可能DJANGO_LOG_LEVEL设置为高于INFO。

要测试此假设,请在您的环境中运行以下命令。

echo $DJANGO_LOG_LEVEL

确保1.未设置,或2.设置为INFO

export DJANGO_LOG_LEVEL=INFO