如何隐藏本地调用Azure Databricks集群时输出的相关日志
屏蔽Azure Databricks "View job details" 日志的解决方案
这类日志是Azure Databricks SDK/Connect组件默认输出的INFO级日志,不用调整全局日志配置,以下三种方案按需选择:
方案1:调整指定模块日志级别(最简便)
该类日志属于databricks.sdk.core模块的INFO级输出,只需将该模块的日志级别调高到WARNING及以上,即可屏蔽所有该模块的INFO及以下级别日志,不影响其他模块日志输出:
- Python环境代码示例:
import logging logging.getLogger("databricks.sdk.core").setLevel(logging.WARNING)
- Java/Scala(log4j配置)在
log4j.properties中添加:
log4j.logger.databricks.sdk.core = WARN
方案2:自定义过滤器精准屏蔽特定行
如果你需要保留databricks.sdk.core模块的其他INFO日志,只想过滤包含"View job details at"的特定行,可以添加自定义日志过滤器:
- Python环境代码示例:
import logging class JobDetailLogFilter(logging.Filter): def filter(self, record): # 匹配到目标日志内容时返回False,即不输出 return "View job details at" not in record.getMessage() # 给对应模块的logger添加过滤器 db_sdk_logger = logging.getLogger("databricks.sdk.core") db_sdk_logger.addFilter(JobDetailLogFilter())
- Java/Scala环境可自定义log4j Filter类,实现相同的匹配过滤逻辑即可。
方案3:旧版本Databricks Connect适配
如果你使用的是V2版本以下的Databricks Connect,日志输出模块为databricks_connect,调整对应模块级别即可:
import logging logging.getLogger("databricks_connect").setLevel(logging.WARNING)
内容的提问来源于stack exchange,提问作者Laurynas G
相关产品推荐
相关产品推荐

