如何在JupyterLab中使用logging模块向日志控制台输出debug日志
解决JupyterLab notebook中logging模块不输出DEBUG级别日志的问题
Jupyter 环境默认会将 logging 根日志的级别预设为 WARNING,且默认已经绑定了输出到控制台的 StreamHandler,多数场景不需要额外新增 handler,调整日志级别即可生效。
方法1:直接覆盖默认配置(适用绝大多数场景)
因为 Jupyter 已经默认初始化过 logging 配置,所以调用 basicConfig 时需要加 force=True 参数才能覆盖原有配置,示例代码如下:
import logging # 配置日志级别为DEBUG,force=True强制覆盖Jupyter默认配置 # 可额外添加format参数自定义日志输出格式 logging.basicConfig( level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s', force=True ) # 测试日志输出 logging.debug("这是DEBUG级别的调试日志") logging.info("这是INFO级别的运行日志") logging.warning("这是WARNING级别的警告日志") logging.error("这是ERROR级别的错误日志")
运行后即可在控制台看到所有级别的日志输出。
方法2:手动调整已有handler的级别(方法1失效时使用)
如果之前已经自定义过日志配置,或者环境有特殊改动导致方法1不生效,可以直接修改根日志和已有handler的级别:
import logging # 设置根日志级别为DEBUG logging.root.setLevel(logging.DEBUG) # 遍历所有已绑定的控制台handler,同步修改级别为DEBUG for handler in logging.root.handlers: handler.setLevel(logging.DEBUG) # 测试 logging.debug("debug日志测试输出")
内容的提问来源于stack exchange,提问作者stats_b
相关产品推荐
相关产品推荐

