用途:对代码仓库进行日志覆盖率分析,找出调用链中日志缺失的分支,以及可能因高频触发而影响性能的日志风险。
主要能力:按日志级别区分要求——LOGE 始终打印,须出现在所有错误返回路径;LOGI 始终打印,但同一位置高频触发时可能丢失,用于成功路径与关键操作;LOGD、LOGW 仅在调试开关开启时打印,属可选。分析规则包括:调用链每个分支须有 LOGE 或 LOGI;可能被频繁调用的函数(循环、定时器、回调、事件处理)中的 LOGE/LOGI 存在性能风险;所有错误返回路径必须有 LOGE;日志须包含足够上下文(ID、状态、参数)。
使用方式:以技能命令调用,支持参数 --path(仓库路径,默认当前目录)、--exclude-tests(是否排除测试文件,默认 true)、--lang(cpp、java、python、js、all)、--output(报告输出路径)。示例:/log-coverage-analyzer --path /path/to/repo;/log-coverage-analyzer --lang cpp --path /path/to/repo;/log-coverage-analyzer --exclude-tests false;/log-coverage-analyzer --output /path/to/report.md。
工作流程:创建分析计划;发现源文件(按语言 glob,排除测试与构建目录);扫描 LOG[DEIW]、HILOG[DEIW]、ALOG[DEIW] 等日志模式;提取函数与调用链;逐分支分析日志覆盖;检测高频日志风险;生成 Markdown 报告(log-coverage-report-YYYYMMDD-HHmmss.md)。
适用场景:排查错误路径日志缺失、评估数据路径逐包逐帧日志的性能影响、梳理关键调用链日志完整性。
限制:日志级别行为、修复建议与报告结构来自资料;未提供具体安装步骤、定价与平台支持范围,需以实际环境为准。高频风险阈值、语言支持细节以资料为准。