python输出了导入包里面的日志

python有的时候会输出多余日志,原因可能为:

  • 不是按照规范使用logging.getLogger(logger_name),直接使用了Logging打印日志
  • Logger包里面的NullHandler被继承实现

原因

创建记录器时,级别默认设置为 NOTSET (当记录器是根记录器时,将处理所有消息;如果记录器不是根记录器,则将委托给父级)。请注意,根记录器的默认级别为 WARNING 。

委派给父级的意思是如果一个记录器的级别设置为 NOTSET,将遍历其祖先记录器,直到找到级别不是 NOTSET 的记录器,或者到根记录器为止。

如果发现某个父级的级别不是 NOTSET ,那么该父级的级别将被视为发起搜索的记录器的有效级别,并用于确定如何处理日志事件。

如果搜索到达根记录器,并且其级别为 NOTSET,则将处理所有消息。否则,将使用根记录器的级别作为有效级别。

如果指定的加载器之前有同名的加载器,那么会使用根加载器作为有效级别。而Logging默认是 NOTSET,导致NullHandler被实现
比如:指定了一个加载器‘test01’,然后在子类也指定了一个加载器‘test01’,那么会导致

  • 两个加载器输出的日志合并
  • 使用了父类的加载器配置

python使用了for循环递归创造hander

hander的位置一般应该在函数的_init_,而且每个函数通常按照需要指定而不是在循环定义。
如果在for循环里面定义hander,会导致hander重复打印文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值