使用Oracle Functions、NoSQLCS及Python连接OCI NoSQL表时如何关闭DEBUG信息
屏蔽Python连接OCI NoSQL场景下urllib3 DEBUG日志的方案
这类DEBUG日志是OCI Python SDK依赖的urllib3库默认输出的调试信息,可通过以下几种方式屏蔽:
方法1:代码内调整日志级别(通用方案)
在代码入口的最开头加入以下配置,单独抬高urllib3的日志输出级别:
import logging # 仅屏蔽urllib3连接池的DEBUG日志 logging.getLogger("urllib3.connectionpool").setLevel(logging.INFO) # 如果需要同时屏蔽所有OCI SDK相关的DEBUG日志,追加以下配置 logging.getLogger("oci").setLevel(logging.INFO)
该方案无需修改其他配置,代码执行后立即生效。
方法2:Oracle Functions运行环境全局配置
如果是在Oracle Functions场景下运行,可直接通过函数配置变量实现屏蔽,无需修改业务代码:
- 给对应函数添加配置项
LOG_LEVEL,值设置为INFO或WARN,即可全局抬高运行环境的默认日志级别,自动过滤所有DEBUG级别的输出 - 如需单独控制urllib3的日志输出,可添加配置项
URLLIB3_LOG_LEVEL,值设置为INFO,OCI运行环境会自动识别该配置生效
方法3:初始化NoSQL客户端时显式指定日志级别
使用OCI官方NoSQL SDK构造客户端时,直接传入日志级别参数,关闭调试输出:
import logging import oci from oci.nosql import NosqlClient # 加载OCI配置 config = oci.config.from_file() # 初始化客户端时指定日志级别,优先级高于全局日志配置 nosql_client = NosqlClient(config, log_level=logging.INFO)
注意:如果配置后仍有DEBUG日志输出,检查代码中是否存在其他位置显式调用了
logging.basicConfig(level=logging.DEBUG),这类配置会拉低全局日志优先级,导致之前的设置失效。
内容的提问来源于stack exchange,提问作者devappsnosql75
相关产品推荐
相关产品推荐

