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

VSCode/Jupyter与Python Rich日志库冲突,输出</>符号如何消除?

解决VSCode中Jupyter Notebook使用Rich日志库时左侧出现</>符号的问题

问题描述

在VSCode的Python Jupyter Notebook环境中,使用Rich日志格式化库输出日志(如log.info("some text"))时,每条日志左侧都会出现</>符号,影响日志可读性。

已知原因:Rich默认启用类HTML标记解析(markup=True),这些标记被Jupyter的渲染引擎误解析为HTML元素,导致出现多余的</>符号。

解决方案

方法1:关闭Rich的标记解析功能

最直接的解决方式是初始化RichHandler时将markup参数设为False,这样Rich不再解析类HTML标记,Jupyter也就不会渲染出多余符号。

修改后的代码:

import logging
import os
import sys
from rich.logging import RichHandler

def set_logging():
    FORMAT = "Func/Mod:%(funcName)s  %(message)s"
    # 关闭markup功能,避免Jupyter解析HTML标记
    logging.basicConfig(level=logging.INFO, format=FORMAT, datefmt="[%X]", handlers=[RichHandler(markup=False, show_path=False)])
    if sys.platform.lower() == "win32": 
        os.system('color')
    log = logging.getLogger(__name__)
    log.setLevel(logging.INFO)
    return log

if __name__=="__main__":
    log=set_logging()
    log.info("This is a test")
    log.info("This is a test")
    log.info("This is a test")

方法2:保留标记功能同时避免Jupyter解析

如果需要保留Rich的标记功能(比如日志着色、加粗等样式),可以强制Rich以终端模式输出,绕过Jupyter的HTML渲染。通过创建Console实例并设置force_terminal=True,再传给RichHandler即可实现。

代码示例:

import logging
import os
import sys
from rich.logging import RichHandler
from rich.console import Console

def set_logging():
    FORMAT = "Func/Mod:%(funcName)s  %(message)s"
    # 强制终端模式输出,保留标记功能的同时避免Jupyter解析HTML
    console = Console(force_terminal=True)
    logging.basicConfig(level=logging.INFO, format=FORMAT, datefmt="[%X]", handlers=[RichHandler(console=console, markup=True, show_path=False)])
    if sys.platform.lower() == "win32": 
        os.system('color')
    log = logging.getLogger(__name__)
    log.setLevel(logging.INFO)
    return log

if __name__=="__main__":
    log=set_logging()
    log.info("This is a normal test")
    log.info("[bold red]This is a colored bold test[/bold red]") # 保留样式标记
    log.info("This is another test")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:20:32