我想使用dictConfig,但是文档有点抽象。在哪里可以找到dictConfig
所用字典的具体,可复制和粘贴的示例?
最佳答案
来吧!相应的文档引用为 configuration-dictionary-schema
。
LOGGING_CONFIG = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
},
},
'handlers': {
'default': {
'level': 'INFO',
'formatter': 'standard',
'class': 'logging.StreamHandler',
'stream': 'ext://sys.stdout', # Default is stderr
},
},
'loggers': {
'': { # root logger
'handlers': ['default'],
'level': 'WARNING',
'propagate': False
},
'my.packg': {
'handlers': ['default'],
'level': 'INFO',
'propagate': False
},
'__main__': { # if __name__ == '__main__'
'handlers': ['default'],
'level': 'DEBUG',
'propagate': False
},
}
}
用法:# Run once at startup:
logging.config.dictConfig(LOGGING_CONFIG)
# Include in each module:
log = logging.getLogger(__name__)
log.debug("Logging is configured.")
如果您从第三方软件包中看到太多日志,请确保在导入第三方软件包之前使用logging.config.dictConfig(LOGGING_CONFIG)
运行此配置。要使用日志记录过滤器向每个日志消息添加其他自定义信息,请考虑使用this answer。