繁体   English   中英

Python - 如果不存在则创建一个记录器

[英]Python - creating a logger if one doesn't exist

通常我会在 python 中使用日志,设置如下:

logging.basicConfig(
    format="(%(levelname)s) %(module)22s :  %(message)s",
    datefmt="%m/%d/%Y %I:%M:%S %p",
    level=logging.INFO,
)
log = logging.getLogger(__name__)

有时我有一个模块m.py可以自己运行,也可以由另一个模块调用。

如果模块m.py本身被调用,那么我需要上面列出的所有设置,但是,如果m.py由不同的模块调用,则不需要上述设置,我可以

log = logging.getLogger(__name__)

它将继承在名为m.py的脚本中创建的记录器。

我想知道的是,如何进行设置以考虑脚本m.py的这两种情况?

如果我对您的问题的理解是正确的,您可以使用if (__name__ == "__main__"):方法。

是一个强调其工作原理的问题。

因此,对于您的问题,您可以这样做:

if (__name__ == "__main__"):
  logging.basicConfig(
      format="(%(levelname)s) %(module)22s :  %(message)s",
      datefmt="%m/%d/%Y %I:%M:%S %p",
      level=logging.INFO,
  )
log = logging.getLogger(__name__)

这意味着只有在直接调用模块时才会运行根配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM