我有一个记录器,可用于设置的大多数程序logging.INFO
。这对我来说似乎是最合理的设置作为东西我日志不一定是一个警告,等等......问题是,requests
和urllib
使用logging.INFO
他们的HTTP请求中的每一个。这会为我的某些ETL流程创建超长日志,并且不一定以任何方式有所帮助。
我正在考虑两个解决方案,第一个是创建一个上下文管理功能,该功能将脚本的总体级别设置为logging.WARNING
仅在ETL部分(没有有用的日志记录信息)期间。另一种选择是建立在两者之间的自定义日志记录级别logging.INFO
和logging.WARNING
。哪个将更可重用并且更有效地工作呢?
在配置记录器时,我总是添加logging.getLogger('requests').propagate = False
以避免从Requests库中记录日志而污染日志。
例如:
def init_logger(config_file=None, log_level=logging.INFO):
# Configure the logging system
if config_file:
logging.config.fileConfig(config_file, disable_existing_loggers=False)
else:
logging.basicConfig(level=log_level)
# Avoid output from the requests module
logging.getLogger('requests').propagate = False
def main():
init_logger(…)
if __name__ == '__main__':
main()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句