为什么Logging不能在django网站上运行?

时间:2012-06-11 07:11:13

标签: python django

这是我试过的。 在我的view.py文件中,

import logging
logger = logging.getLogger("mylog")
logging.basicConfig(format='%(name)s:%(levelname)s:%(message)s',level=logging.INFO,datefmt='%d/%m/%y %I:%M:%S')

然后在函数内部

logger.debug("this is an error")
logger.warning("This is a warning")
print "This is a test line '

我没有触及settings.py文件。几乎一样。

LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'handlers': {

        'mail_admins': {

            'level': 'ERROR',

            'class': 'django.utils.log.AdminEmailHandler'

        }

    },

    'loggers': {

        'django.request': {

            'handlers': ['mail_admins'],

            'level': 'ERROR',

            'propagate': True,

        },

    }

当我运行服务器并调用该函数时,没有任何反应。没有错误,没有。

我只是想在控制台上看到一个日志行。

1 个答案:

答案 0 :(得分:10)

尝试将此添加到处理程序:

'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
           }

和记录器:

    'django': {
        'handlers':['console'],
        'propagate': True,
        'level':'INFO',
    },

日志级别可以相同或不同 - 事实上,处理程序定义它将记录的最小级别,而记录器定义它将发送给处理程序的最小级别。如果一个处理程序由两个或多个记录器使用 - 理想情况下它应该具有两个记录器中的最低级别。

编辑:感谢@jpic指向记录器部分。