django logging“无法找到记录器的处理程序”

时间:2013-05-21 12:44:32

标签: python django logging

我搜索了所有类似的问题,没有任何帮助。 我已经创建了这样的'通用'记录器:

'': {
    'handlers': ['logfile','console'],
    'level': 'WARNING',
    'propagate': True,
},

为了能够写

import logging
log = logging.getLogger(__name__)

并在我的django-application的任何文件中获取logger(在SO的某个地方看到这种方法),几天前它对我有效,但现在不行,我无法理解为什么。

我的整个日志记录设置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler'
        },
       'logfile': {
            'level':'WARNING',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': "/opt/telefacer_1/var/log/inapplog",
            'maxBytes': 50000,
            'backupCount': 2,
            'formatter': 'standard',
        },
        'console':{
            'level':'WARNING',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        '': {
            'handlers': ['logfile','console'],
            'level': 'WARNING',
            'propagate': True,
        },
    }
}

1 个答案:

答案 0 :(得分:1)

虽然只定义了标准,但我看到了对简单和标准格式化程序的引用。