CodeBuddy生成的代码须按规范输出结构化日志:强制SLF4J格式[traceId][spanId][bizCode][method] action=xxx, param={...}, result={...}, cost=xxxms;bizCode为3位大写字母+数字;cost须用StopWatch或nanoTime计算;traceId从MDC.get("traceId")获取并自动填充;禁止拼接敏感信息与字符串,布尔字段需带语义。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让CodeBuddy生成的代码自动按团队日志规范输出结构化日志,避免手动补全traceId、拼接占位符、漏写业务上下文,尤其在微服务链路追踪场景下,缺失关键字段会导致全链路日志无法关联。
统一日志格式模板嵌入提示词
第一步:在提示词开头明确声明日志格式要求,例如:“所有Java服务类中的日志输出必须使用SLF4J,格式为:[traceId][spanId][bizCode][method] action=xxx, param={...}, result={...}, cost=xxxms”。
第二步:用具体字段替代模糊描述——【bizCode必须是3位大写字母+数字组合,如ORD01、USR02】,不能写“业务编码”这种泛称,否则CodeBuddy会生成user_code、business_id等不一致命名。
第三步:对cost字段加约束:“cost值必须由StopWatch或System.nanoTime()计算,禁止用new Date().getTime()差值”。因为后者受系统时钟跳变影响,会导致耗时统计失真。
动态注入traceId与上下文变量
方法一:在提示词中指定注入方式
“日志中的traceId必须从MDC.get(“traceId”)获取,若为空则自动生成UUID并存入MDC;所有Controller入口方法需在try块首行执行MDC.put(“traceId”, xxx)”。
CodeBuddy Code CLI 的安装、配置与使用指南。CodeBuddy Code 是腾讯推出的 AI 驱动 CLI 编程助手,支持自然语言驱动开发。 - 必备触发词:CodeBuddy, codebuddy, AI CLI, Tencent AI coding, @tencent-ai/codebuddy-code, terminal AI assistant - 适用场景:安装 CodeBuddy CLI、配置 CodeBuddy、使用 CodeBuddy 命令、排查 CodeBuddy 问题
方法二:绑定Spring AOP切面
“在Service层方法上添加@LogTrace注解,该注解触发环绕通知自动填充MDC,并在finally块清空MDC”。这比手动写MDC.put更可靠,避免遗漏或未清理。
【注意:若项目未引入spring-boot-starter-aop依赖,此方案会生成编译错误代码】
规避常见日志陷阱
禁止在日志中拼接敏感信息:直接写“password=xxx”会被CodeBuddy当成正常参数生成,必须显式声明“password字段需脱敏为***,且不得出现在log.info()中,仅允许log.debug()含原始值”。
禁止用字符串拼接代替占位符:写“log.info(“用户” + name + “登录成功”)”会导致无法被日志采集系统结构化解析,必须强制要求“全部使用log.info(“用户{}登录成功”, name)”。
布尔值日志需带语义:不能只写“enabled=true”,要写成“isUserEnabled={}”,否则ELK查询时无法区分字段含义。

















