如何使用dictConfig设置请求模块的日志级别?

问题描述:

我正在从基于fileConfig的记录器移动到基于dictConfig的记录器。我的请求日志级别设置为WARNING如何使用dictConfig设置请求模块的日志级别?

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请求模块?

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

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

+0

它会忽略不支持的键,因为您可以使用它们来扩展配置,如https://docs.python.org/2/library/logging.config.html#access-to-internal-objects –

+0

@VinaySajip:谢谢,我不知道。 – dangonfast