qoderwake控制台日志可通过三种方式实现分层彩色输出:一、集成rich.logging自动着色;二、定制ansi转义序列手动着色;三、通过cli参数动态启用色彩。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用QoderWake时发现控制台日志信息混杂、级别难辨、关键错误被淹没,则可能是默认的纯文本输出未启用结构化着色机制。以下是为QoderWake控制台配置分层彩色日志输出的多种可行方式:
一、集成rich.logging实现自动级别着色
该方法通过注入RichHandler替代Python原生日志处理器,利用rich库内置的语义化颜色映射(INFO蓝、WARNING黄、ERROR红、CRITICAL紫),无需修改业务代码即可实现全量日志自动染色,并支持行内高亮与缩进对齐。
1、在QoderWake主程序入口文件(如main.py或app.py)顶部添加依赖导入语句:import logging; from rich.logging import RichHandler。
2、在日志初始化段落中,替换原有basicConfig调用:logging.basicConfig(level="NOTSET", format="%(message)s", handlers=[RichHandler(show_path=False, markup=True)])。
3、确保QoderWake运行环境中已安装rich:执行pip install rich --upgrade,版本需≥13.7.0。
4、重启QoderWake服务进程,观察控制台输出——INFO级日志应显示为淡蓝色文字,WARNING为琥珀色,ERROR为鲜红色,且每条日志左侧带对应图标前缀。
二、定制ANSI转义序列手动着色
该方法适用于无法引入第三方库的受限环境(如嵌入式Agent容器或FIPS合规沙盒),直接通过标准输出写入ANSI控制码,对特定关键词或日志字段施加颜色,兼容所有POSIX终端与Windows Terminal。
1、定义颜色常量字典,置于全局配置模块中:LOG_COLORS = {"DEBUG": "3[36m", "INFO": "3[32m", "WARNING": "3[33m", "ERROR": "3[31m", "CRITICAL": "3[35m", "RESET": "3[0m"}。
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
2、创建自定义Formatter子类,在format方法中根据record.levelname插入对应ANSI前缀与后缀:return f"{LOG_COLORS.get(record.levelname, '')}{super().format(record)}{LOG_COLORS['RESET']}"。
3、将该Formatter绑定至Root Logger的StreamHandler:handler.setFormatter(CustomColorFormatter())。
4、验证输出:触发一次HTTP请求失败,确认ERROR日志行整体呈现红色,且末尾无残留控制码导致后续行错色。
三、通过QoderWake CLI参数动态启用色彩
该方法面向运维人员快速调试场景,不修改任何源码或配置文件,仅通过启动参数即时激活日志着色,适合故障排查时临时启用,避免污染生产配置。
1、停止当前QoderWake进程:qoderwake stop。
2、以增强日志模式重新启动:qoderwake start --log-color=auto --log-level=debug。
3、检查进程环境变量是否注入成功:ps aux | grep qoderwake | grep color,应可见--log-color参数存在。
4、执行一次模拟任务:qoderwake submit --event-type=test-log --metadata='{"msg":"color test"}',观察控制台中不同级别日志是否按预设色调区分。










