Python给函数库增加日志功能的方法

  介绍

这篇文章主要讲解了Python给函数库增加日志功能的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

<强>问题

你想给某个函数库增加日志功能,但是又不能影响到那些不使用日志功能的程序。

<强>解决方案

对于想要执行日志操作的函数库而已,你应该创建一个专属的记录器对象,并且像下面这样初始化配置:

 # somelib.py
  
  导入日志
  日志=logging.getLogger (__name__)
  log.addHandler (logging.NullHandler ())
  
  #例子函数(用于测试)
  def func ():
  log.critical(& # 39;一个关键错误! & # 39;)
  log.debug(& # 39;一个调试消息# 39;)

使用这个配置,默认情况下不会打印日志,例如:

在祝辞祝辞进口somelib   在在在somelib.func ()   祝辞祝辞祝辞

不过,如果配置过日志系统,那么日志消息打印就开始生效,例如:

在祝辞祝辞导入日志   在在在logging.basicConfig ()   在在在somelib.func ()   关键:somelib:关键错误!   祝辞祝辞祝辞

<>强讨论

通常来讲,你不应该在函数库代码中自己配置日志系统,或者是已经假定有个已经存在的日志配置了。

调用<代码> getlog (__name__) 创建一个和调用模块同名的记录器模块。由于模块都是唯一的,因此创建的记录器也将是唯一的。

<代码> log.addHandler (logging.NullHandler())>

还有一点就是对于各个函数库的日志配置可以是相互独立的,不影响其他库的日志配置,例如,对于如下的代码:

在祝辞祝辞导入日志   在在在logging.basicConfig(水平=logging.ERROR)      在在在进口somelib   在在在somelib.func ()   关键:somelib:关键错误!      在在在#修改日志级别为& # 39;somelib& # 39;>看完上述内容,是不是对Python给函数库增加日志功能的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

Python给函数库增加日志功能的方法