减少HTTP请求,contextmanager或自定义日志记录级别的日志噪音?

飞蝇仔

我有一个记录器,可用于设置的大多数程序logging.INFO这对我来说似乎是最合理的设置作为东西我日志不一定是一个警告,等等......问题是,requestsurllib使用logging.INFO他们的HTTP请求中的每一个。这会为我的某些ETL流程创建超长日志,并且不一定以任何方式有所帮助。

我正在考虑两个解决方案,第一个是创建一个上下文管理功能,该功能将脚本的总体级别设置为logging.WARNING仅在ETL部分(没有有用的日志记录信息)期间。另一种选择是建立在两者之间的自定义日志记录级别logging.INFOlogging.WARNING哪个将更可重用并且更有效地工作呢?

ƘɌỈSƬƠƑ

在配置记录器时,我总是添加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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章