如何使用dictConfig为请求模块设置loglevel?

时间:2015-10-16 09:54:12

标签: python python-2.7 logging python-3.4

我正在从基于fileConfig的记录器转移到基于dictConfig的记录器。我正在为WARNING的请求设置日志级别:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simpleFormatter': {
            'format': '%(asctime)s - %(name)-30s - %(levelname)s - %(message)s',
            'datefmt' : '%Y-%m-%dT%H:%M:%S%z',
        }
    },
    'handlers': {
        'consoleHandler': {
            'class': 'logging.StreamHandler',
            'level': 'NOTSET',
            'formatter': 'simpleFormatter',
            'stream': 'ext://sys.stderr',
        },
    },
    ...
    'requests.packages.urllib3.connectionpool': {
        'handlers': ['consoleHandler'],
        'level': 'WARNING',
        'propagate': False,
    },

import logging
logging.config.dictConfig(LOGGING)

同样的事情是使用fileConfig

[logger_requests]
level=WARNING
handlers=consoleHandler
qualname=requests.packages.urllib3.connectionpool
propagate=0

如何使用loglevel

为请求模块设置dictConfig

1 个答案:

答案 0 :(得分:0)

所以,初学者的错误。记录器配置必须位于'loggers'的{​​{1}}密钥内,如the schema documentation中所述。我把它放在顶层。

来自dictConfig的错误消息会有所帮助,但它会默默地忽略任何不受支持的密钥。