用途
log-ops 面向日志文件分析,尤其是 JSONL 格式——广泛用于智能体对话日志、基准测试输出和结构化应用日志。它提供从日志格式识别到结构化提取、跨日志关联、时间线重建与模式搜索的一整套命令行工作流。
主要能力
日志格式决策树:从一个未知日志文件出发,逐步判断其属于哪种格式并给出对应处理路径——每行一个 JSON 对象的 JSONL;单个大 JSON 对象或数组;含 key=value 对的结构化日志(logfmt);syslog 格式;有稳定列的按列分隔日志(访问日志、CSV);以及混合或非结构化的纯文本。
工具选择矩阵:列出各工具最适合的任务与相对速度,包括 rg(ripgrep)用于任意格式的原始模式匹配,属必备工具;jq 用于 JSONL 结构化提取与转换,属必备工具;jq -s 用于 JSONL 聚合(把所有行吸入数组);lnav 用于交互式探索与对日志执行 SQL;angle-grinder(agrind)用于管道聚合与计数;awk 用于按列日志格式与字段提取;Miller(mlr)用于 CSV/TSV 日志分析与统计;fd + rg 用于跨多个日志目录搜索;GNU parallel 用于拆分大文件并行处理。
JSONL 处理:覆盖流式过滤(按字段值、嵌套字段、多条件、数组包含、字段是否存在、取反)、字段抽取(单字段、多字段输出为 TSV、缺省值、安全抽取嵌套字段)、聚合(按字段值计数、Top-N 最常见值、求和、求平均、最小最大值)、嵌套抽取(从对话日志中提取工具调用、反解嵌套 JSON 字符串、展平嵌套数组、从对象数组中提取)。
时间相关分析:时间范围过滤(按 ISO 8601 字符串比较、最近 N 分钟、按小时做直方图)、时间线重建(合并多个日志文件并按时间戳排序、按时间戳字段排序、计算事件间隔、取首末事件推算时长)、配对事件耗时(如 start/end 配对计算每次请求耗时、找出最慢阶段)。
跨日志关联:按关联 ID 在全部服务日志中定位一个请求并构建其时间线;按时间戳窗口查找已知事件前后若干秒内的事件;按会话或用户跨日志文件重建用户会话。
纯文本日志模式:带上下文搜索(显示匹配前后若干行)、只列出匹配文件、按文件统计匹配数、多行模式(如堆栈跟踪);用 awk 做列抽取(如访问日志状态码统计、时间范围筛选、平均响应时间计算、按状态码过滤)。
实时监控:tail -f 配合 rg 过滤、配合 jq 提取字段(需加 --unbuffered 或 stdbuf -oL 避免缓冲延迟)、同时跟踪多个文件。
大文件策略:只搜最近 N 行;拆分文件后并行处理;对超大单个 JSON 使用 jq --stream 做 SAX 风格处理;始终优先两段式管道——先用 rg 过滤文本,再用 jq 解析幸存行,而非让 jq 逐行解析全部内容。
跨目录搜索:在多个试验目录中查找含错误的 JSONL 文件、统计每个日志文件的错误数、跨目录提取并聚合、为多次运行构建汇总表。
常见陷阱:列举了 jq -s 在大文件上导致内存溢出、JSONL 字符串值内嵌换行、rg 会匹配到 JSON 键名而非仅值、时间戳比较的时区不一致、Unicode 与转义序列、跨行 JSON schema 不一致、忘记 jq -c 导致输出不再是合法 JSONL、tail -f 配合 jq 的缓冲问题、未 slurp 时按时间戳排序失效、假设日志文件完整(可能存在轮转或压缩文件)、Windows 下 jq 单引号问题等,并给出对应修正方式。
使用方式
该技能以命令行模式为主,依赖预装工具。前置要求:必备工具为 rg(安装示例:cargo install ripgrep / choco install ripgrep)和 jq(安装示例:brew install jq / choco install jq);可选工具为 lnav(brew install lnav / WSL: apt install lnav)、angle-grinder(cargo install ag)、Miller(brew install miller / choco install miller)、GNU parallel(brew install parallel)。官方说明指出,全部模式仅靠 rg + jq 即可运行,可选工具仅额外提供交互式探索、管道聚合与表格分析能力。典型用法如:jq -c 'select(.level == "error")' app.jsonl 做流式过滤;jq -r '[.timestamp, .level, .message] | @tsv' app.jsonl 抽取多字段;rg '"error"' app.jsonl | jq -r '.message' 做两段式管道。
适用场景
智能体对话日志分析、基准测试结果解析、结构化应用日志分析、跨目录与跨服务日志工作流、按请求或用户重建时间线等。附带参考文件:references/jsonl-patterns.md(JSONL 提取、聚合、转换、比较与性能模式,约 700 行)、references/analysis-workflows.md(智能体对话分析、应用日志分析、基准结果解析、跨目录工作流,约 600 行)、references/tool-setup.md(jq、lnav、angle-grinder、rg、awk、GNU parallel、Miller 的安装与配置,约 450 行)。
限制
资料未提供收费、价格或平台支持范围等信息。该技能假设使用者具备命令行环境与相应工具链;关于各工具在非 Unix 系统上的完整兼容性,资料仅提及 Windows 下 jq 单引号处理差异。