使用Supabase时Rich自动打印日志:是特性还是Bug?
问题
我用Python结合Supabase和Rich开发应用时,每次调用Supabase API,Rich都会自动打印日志,不确定这是可关闭的特性还是Bug。

卸载Rich后,Supabase默认不会输出任何内容。我把代码简化成了基础测试文件,复现问题的代码如下:
from os import environ from dotenv import load_dotenv from supabase import Client, create_client load_dotenv() URL: str = environ.get('SUPABASE_URL') KEY: str = environ.get('SUPABASE_KEY') supa: Client = create_client(URL, KEY) query = supa.table('watched').select('*').execute()
解决方案
试了几种方法后,终于解决了这个问题,以下是尝试过的方案,其中方法4是对我有效的:
import logging import sys supabase_logger = logging.getLogger('supabase') rich_logger = logging.getLogger('rich') # 方法1:阻止日志向上传播 supabase_logger.propagate = False rich_logger.propagate = False # 方法2:直接禁用Supabase和Rich的日志器 supabase_logger.disabled = True rich_logger.disabled = True # 方法3:禁用级别高于50的日志(51可以是任何大于50的数值) logging.disable(51) # 方法4:禁用所有级别的日志(此方法解决了我的问题) logging.disable(sys.maxsize)
内容的提问来源于stack exchange,提问作者p1etrito
相关产品推荐
相关产品推荐

