5

这就是我尝试过的。在我的 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,

        },

    }

当我运行服务器并调用该函数时,什么也没有发生。没有错误,什么都没有。

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

4

1 回答 1

11

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

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

在记录器中:

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

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

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

于 2012-06-11T07:50:30.887 回答