Django:无法配置处理程序“控制台”

时间:2019-04-22 04:52:00

标签: django python-3.x

在settings.py文件中有一个简单的日志记录定义:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '[%(asctime)s] %(levelname)s %(message)s',
        },
        'verbose': {
            'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatters': 'simple',
            'propagate': False
        }
    },
    'loggers': {
        'myapp': {
            'handlers': ['console'],
            'level': 'DEBUG'
         },
    }
}

运行程序时,出现错误:

ValueError: Unable to configure handler 'console'

出了什么问题?

1 个答案:

答案 0 :(得分:1)

propagate不是处理程序的选项,而是记录程序的选项。所以您的配置应该是。

'handlers': {
    'console': {
        'level': 'DEBUG',
        'class': 'logging.StreamHandler',
        'formatter': 'simple',
    }
},
'loggers': {
    'myapp': {
        'handlers': ['console'],
        'level': 'DEBUG',
        'propagate': False
     },
}