从入口点导入python模块时如何遵守父日志记录命名空间

塔索斯

我有一个应用程序foo,它使用名为foo.modules的组遍历入口点然后,它使用load()方法加载所有出现的事件这种体系结构允许为应用程序foo编写插件/模块,可以在这里找到更多详细信息

此外,应用程序在启动时会配置一些日志记录处理程序。但是,当我加载插件时(假设foo_plugin),foo应用程序的日志记录名称空间在名称空间层次结构中不可用,这会导致如下警告:

No handlers could be found for logger "foo_plugin.plugin"

这个概念是写插件的人都可以写:

import logging
logger = logging.getLogger(__name__)

并且插件日志记录应按照foo应用程序的指示运行。

如果我变量之前显式地添加foo名称空间(foo.__name__,则日志记录将再次起作用,但这当然不是很优雅。还有更好的主意吗?

维奈·萨吉普(Vinay Sajip)

插件应该如何知道它是否属于应用程序foo而不是应用程序bar如果您不希望插件成为foo名称空间的一部分,则只需将处理程序附加到根记录器,就不会收到有关“找不到处理程序”的消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

日志记录-如何忽略导入的模块日志?

来自分类Dev

python导入模块全局本地命名空间

来自分类Dev

如何在Python的子包/模块的命名空间中获取父模块/包函数?

来自分类Dev

尝试从展平的命名空间导入模块时出现ModuleNotFoundError

来自分类Dev

如何将子模块导入父命名空间?

来自分类Dev

如何从Python日志记录模块写入Kafka?

来自分类Dev

如何调试python日志记录模块?

来自分类Dev

如何从Python日志记录模块写入Kafka?

来自分类Dev

在不同脚本中导入的Python日志记录模块

来自分类Dev

Python-如果我不导入日志记录模块,将发生日志记录

来自分类Dev

如何在Python中初始化模块时启用日志记录?

来自分类Dev

如何在Python中初始化模块时启用日志记录?

来自分类Dev

导入彼此“重载”但保留命名空间的模块

来自分类Dev

如何调用 GWT 模块入口点类?

来自分类Dev

导入的模块日志记录调用未显示

来自分类Dev

Python导入中的命名空间

来自分类Dev

Python-如何从扩展名称空间导入父包

来自分类Dev

如何更改未命名记录器的python日志级别?

来自分类Dev

多个模块的Python日志记录

来自分类Dev

在F#中,当在命名空间中的模块中时,记录类型可以公开吗?

来自分类Dev

如何覆盖Python模块的默认日志记录级别?

来自分类Dev

如何在python日志记录模块中指定级别?

来自分类Dev

如何使用跨多个模块的日志记录对象来完成Python日志记录?

来自分类Dev

如何使用跨多个模块的日志记录对象来完成Python日志记录?

来自分类Dev

子模块无法导入父模块(python)

来自分类Dev

使用Python中的日志记录模块进行颜色日志记录

来自分类Dev

使用Python中的日志记录模块进行颜色日志记录

来自分类Dev

Python日志记录-dictConfig-子模块的日志记录目标

来自分类Dev

如何在Laravel中“导入”命名空间?

Related 相关文章

  1. 1

    日志记录-如何忽略导入的模块日志?

  2. 2

    python导入模块全局本地命名空间

  3. 3

    如何在Python的子包/模块的命名空间中获取父模块/包函数?

  4. 4

    尝试从展平的命名空间导入模块时出现ModuleNotFoundError

  5. 5

    如何将子模块导入父命名空间?

  6. 6

    如何从Python日志记录模块写入Kafka?

  7. 7

    如何调试python日志记录模块?

  8. 8

    如何从Python日志记录模块写入Kafka?

  9. 9

    在不同脚本中导入的Python日志记录模块

  10. 10

    Python-如果我不导入日志记录模块,将发生日志记录

  11. 11

    如何在Python中初始化模块时启用日志记录?

  12. 12

    如何在Python中初始化模块时启用日志记录?

  13. 13

    导入彼此“重载”但保留命名空间的模块

  14. 14

    如何调用 GWT 模块入口点类?

  15. 15

    导入的模块日志记录调用未显示

  16. 16

    Python导入中的命名空间

  17. 17

    Python-如何从扩展名称空间导入父包

  18. 18

    如何更改未命名记录器的python日志级别?

  19. 19

    多个模块的Python日志记录

  20. 20

    在F#中,当在命名空间中的模块中时,记录类型可以公开吗?

  21. 21

    如何覆盖Python模块的默认日志记录级别?

  22. 22

    如何在python日志记录模块中指定级别?

  23. 23

    如何使用跨多个模块的日志记录对象来完成Python日志记录?

  24. 24

    如何使用跨多个模块的日志记录对象来完成Python日志记录?

  25. 25

    子模块无法导入父模块(python)

  26. 26

    使用Python中的日志记录模块进行颜色日志记录

  27. 27

    使用Python中的日志记录模块进行颜色日志记录

  28. 28

    Python日志记录-dictConfig-子模块的日志记录目标

  29. 29

    如何在Laravel中“导入”命名空间?

热门标签

归档