背景
最近写一个代码的时候,需要使用requests从外部系统拿一些数据.外部系统有一些权限认证,又没有SDK,只有自己根据文档写了一个.其中比较麻烦的是发出去的请求没有办法看到request,response所有细节,错了都不知道怎么回事.
实在没有办法,用了tcpdump直接抓包来看,但是调试一下就抓一下包,然后分析一下,确实太麻烦了.然后搜索了一下requests的日志打印,总结如下.
python的日志层次结构
python的logging模块中有很多的logger,这些logger组成了一颗树.每个logger都有一个有效level,这个有效level决定了日志是输出还是忽略.
这颗树最顶层是root logger,其默认的level是WARNING(30).其他的logger的默认level是NOSET(0),NOSET表示自己的level没有设置,由最近的设置了level的祖先logger来决定.
比如在完全没有对logging系统进行配置的情况下.root logger的level是30(WARNING),而且其他logger的有效level也是30(WARNNING)