---
name: "skill_log_merge_aplog"
description: "合并多份 AP/Klog 日志并按时间排序。当用户需要先把多个 aplog 或 klog 片段拼成单文件再分析时调用。"
version: "1.1.0"
author: "bytedance"
tags:
  - aplog
  - klog
  - merge
  - debugging
categories:
  - development
  - debugging
dependencies: [python3]
---

# skill_log_merge_aplog

## 强约束路由
- 当用户请求同时包含“时间范围/起始时间”和“airport/networkbrain/elevator 等主题日志”时，本技能只负责合并与时间窗产物，**不要停在 merge**。
- 上述场景下，merge 完成后**必须继续调用** `skill_log_filter_aplog`，使用 `-s ... -m direct --skip-extra` 生成主题过滤产物，再基于过滤产物分析。
- **禁止**直接对原始 `merged_all_aplog.txt` 或 window merged log 做自由 `grep` 作为主流程；`grep` 只可作为补充核对，不可替代 `skill_log_filter_aplog`。

## 适用场景
- 多份 `aplog*` 或 `klog*` 文件需要合并后再分析。
- 需要按时间窗口截取并输出一份合并日志。

## 路径
```bash
export APLOG_MERGE_SKILL="/home/bytedance/disk4T/jieli/modem_proc_ext/skills/skill_log_workflow/sub_skills/skill_log_merge_aplog"
export APLOG_MERGE_TOOL="${APLOG_MERGE_SKILL}/scripts/aplog_merge_tool"
```

## 主命令
```bash
python3 ${APLOG_MERGE_TOOL}/aplog_processor.py -d <log_dir> --prefix aplog [--window "MM-DD HH:MM:SS[.ffffff]~MM-DD HH:MM:SS[.ffffff]"]
python3 ${APLOG_MERGE_TOOL}/aplog_processor.py -d <log_dir> --prefix klog  [--window "MM-DD HH:MM:SS[.ffffff]~MM-DD HH:MM:SS[.ffffff]"]
python3 ${APLOG_MERGE_TOOL}/aplog_processor.py -d <log_dir> --prefix both
```

## 其他脚本
- 主脚本：`aplog_processor.py`

## 说明
- 如果用户下一步要继续做 AP 解析，请衔接 `skill_log_filter_aplog`。
- 如果用户的目标是“时间范围 + 主题过滤”，优先按 `window merge -> filter_aplog` 的固定链路执行，不要把 merge 产物当成最终分析输入。
- 如果用户要的是完整会话归档和多阶段处理，请转到 `skill_log_workflow`。
