gpt4 book ai didi

Python - 在调用它的模块中的函数内部使用记录器

转载 作者:行者123 更新时间:2023-12-05 06:41:03 25 4
gpt4 key购买 nike

假设我有这样的代码:

模块A.py:

import logging
logger = logging.getLogger('A')

def utility_func():
logger.info('hi')
print utility_func()

模块B.py:

import logging
logger = logging.getLogger('B')
from ModuleA import utility_func

print utility_func()

当从 ModuleA.py 中调用 utility_func 时,我希望它使用“A”记录器,而当它从 ModuleB.py 中调用时,我希望它使用“B”记录器。

有没有办法做到这一点?或者更好的设置方式?

更新:

关于将 utility_func 更改为:

def utility_func():
logging.info('hi')

这会冒泡到调用代码正在使用的日志吗?

最佳答案

这就是我最终的结果。但我仍然很想知道是否有更优雅的方式。

模块B.py:

import logging
import ModuleA

logger = logging.getLogger('B')
ModuleA.logger = logger

print ModuleA.utility_func()

关于Python - 在调用它的模块中的函数内部使用记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41467032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com