在Python日志记录中访问多个模块的记录器

时间:2015-05-29 13:31:07

标签: python

我对python日志记录模块有一点疑问。

我有一个简单的记录器

日志= basicConfig()

如何使用getLogger()访问同一个记录器?

或者getLogger()给我一个我可以访问的日志对象吗?

如果是这样,我如何在另一个程序中访问同一个记录器?

道歉,如果这是错误的地方。

1 个答案:

答案 0 :(得分:5)

Python logging.getLogger(name)在进程中始终返回具有该名称的同一记录器对象。

使用记录器的Python最佳实践是每个Python模块在.py文件的开头定义它自己的记录器。:

  import logging

  logger = logging.getLogger(__name__)

  # Do something with the logger
  def foobar():
       logger.debug("In foobar")

这允许您稍后打开和关闭并使用Python的logging配置调整各个记录器的级别。通常,除非您有一些非常具体的用例,否则您不希望跨模块共享记录器。