python库中python记录器的标准命名方法是什么?

时间:2017-01-17 10:33:38

标签: python logging

有几种方法可以在python库中命名一个记录器,直到最近我才有这样的印象,即我使用的是正确的记录器。

  1. logger = logging.getLogger("foobar")
  2. logger = logging.getLogger(__name__)
  3. logger = logging.getLogger(__package__)
  4. 我不喜欢第一个,因为如果重命名库名称可能需要更改。

    我最喜欢的是__name__但有人指出,如果您的代码位于模块内的不同文件中,这可能是一个毫无意义的名称,如果您开始重新组织python库中的代码,它也会改变。例如,如果您有名为sessionclient的模块,那么它们的名称就没有多大意义了。

    他们指出__package__应该是一个更好的名字,我同意这一点。尽管如此,在人气方面进行了一些谷歌搜索,但与1%的受欢迎程度相比,发现只有不到__package__人使用__name__

    我知道日志记录模块支持点名称,但我真的没有看到有人在做logger = logging.getLogger(__package__ + '.' + __name__),这看起来真的很难看。

    另一个不太重要的问题是关于保留记录器实例的变量名称logger vs log

0 个答案:

没有答案