You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用snowflake-connector与simple-ddl-parser时终端输出异常求助

问题:启用simple-ddl-parser解析后,snowflake-connector输出大量调试日志

我编写了一段Python脚本,通过snowflake-connector连接Snowflake并获取表的DDL定义,再用simple-ddl-parser解析该DDL。当注释掉result = DDLParser(ddl[0]).run()仅打印DDL时,终端输出正常,仅显示外部浏览器认证提示及DDL内容;但启用解析代码后,终端会输出大量snowflake-connector的调试信息(如连接状态、遥测日志、会话关闭详情等)。DDL解析可成功完成,但我希望屏蔽这些无关日志,请问这是什么原因导致的?是否是两个库存在冲突?

回答
  • 原因:不是库冲突,核心问题是simple-ddl-parser在运行过程中修改了Python全局日志级别。snowflake-connector默认不会输出调试级别的日志,但如果全局日志被调低至DEBUG,就会触发它输出所有细节日志。
  • 解决方法:
    1. 直接限制snowflake-connector的日志级别,在脚本开头添加:
      import logging
      logging.getLogger('snowflake.connector').setLevel(logging.WARNING)
      
    2. 彻底禁用snowflake-connector的日志传播,避免日志输出到终端:
      import logging
      sf_logger = logging.getLogger('snowflake.connector')
      sf_logger.propagate = False
      sf_logger.handlers = []
      
    3. 检查simple-ddl-parser的配置,看是否有日志相关的参数可以调整,避免它修改全局日志设置。

内容的提问来源于stack exchange,提问作者TKA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:10:12