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

如何在Python logging配置文件中禁用urllib3等指定模块日志?

调整已导入模块的日志行为(以urllib3为例)

方法一:直接修改日志配置文件

你可以在现有ini配置中添加针对urllib3的logger配置,指定它的日志级别,具体修改如下:

修改后的完整配置文件

[loggers]
keys = root, urllib3

[logger_root]
level = DEBUG
handlers = root

[logger_urllib3]
level = WARNING  # 可按需设为WARNING/ERROR,屏蔽低级别日志
handlers = root  # 复用root的handler,也可单独指定其他handler
qualname = urllib3
propagate = 0  # 设为0避免日志向上传播到root导致重复输出

[handlers]
keys = root

[handler_root]
class = StreamHandler
level = DEBUG
formatter = json

[formatters]
keys = json

[formatter_json]
format = %(name)s%(message)s%(asctime)s%(levelname)s%(module)s
class = pythonjsonlogger.jsonlogger.JsonFormatter

说明:

  • 在[loggers]的keys里新增urllib3,告知配置文件需要处理该模块的logger
  • [logger_urllib3]中:
    • level设置为目标级别,比如WARNING会屏蔽DEBUG/INFO级日志,ERROR则只保留错误日志
    • qualname必须和目标模块的logger名称完全一致(此处为urllib3)
    • propagate = 0可防止该模块日志被root logger重复处理

方法二:加载配置后在代码中手动调整

如果不想修改配置文件,也可以在调用fileConfig加载配置后,手动获取urllib3的logger并调整级别:

import logging
from logging.config import fileConfig

# 加载你的日志配置文件
fileConfig('your_log_config.ini')

# 获取urllib3的logger并设置级别
urllib3_logger = logging.getLogger('urllib3')
urllib3_logger.setLevel(logging.WARNING)  # 或logging.ERROR,按需选择
# 可选:关闭日志传播,避免被root logger重复输出
urllib3_logger.propagate = False

两种方法都能实现禁用或提升urllib3日志级别的效果,按需选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 00:18:24