gpt4 book ai didi

python - 如何在 Python 中完全禁用昂贵的日志记录任务

转载 作者:行者123 更新时间:2023-12-01 09:18:32 26 4
gpt4 key购买 nike

我用来记录字典的 Python 的 pprint 函数对于较大的对象来说相当慢。我无法找到一种方法来使用标准日志库完全关闭该函数的处理。以运行以下代码为例:

logging.disable(50)
logging.log(msg=sum(range(20000000)), level=0)

即使结果没有显示,总和仍然是明确计算出来的(加大范围内的数字来看看我的意思)。日志模块中是否有标准方法可以完全禁用计算?如果没有,也欢迎其他建议。

最佳答案

问题是,根级别的任何内容(这包括函数的参数,而不是函数的内部),只要Python看到它,就会被计算(即在Python调用日志之前计算) function)...要解决这个问题,您可以将逻辑放入函数中...然后仅在适当的情况下执行逻辑

def lazy_log(callable_fn,log_name,log_level):
logger = logging.getLogger(log_name)
if logger.getEffectiveLevel() > log_level:
return
logger.log(msg=str(callable_fn()),level=log_level)

我想可能适合你

lazy_log(lambda : sum(range(1000000)), None, 51)

关于python - 如何在 Python 中完全禁用昂贵的日志记录任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51012338/

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