---
name: "skill_log_collector"
description: "识别输入中的日志文件并完成分类归档。适用于 zip、目录、已解压日志包或单个 txt aplog 的整理场景。"
---

这个技能负责识别输入类型, 找出其中的日志文件, 将其分类到不同的子文件夹内.


## input type
可能是一个zip, 内部再包含多个zip 文件;
可能是一个文件夹, 其中包含多个不同设备的zip日志文件;
可能是一个文件夹, 是已经解压后的, 一个设备的日志文件夹;
可能是一个txt文件, 需要将其视为一份 aplog 文件;


## log pattern

### aplog
logsdk/logcat_main.txt
logsdk/logcat_system.txt
logsdk/logcat_radio.txt
logsdk/logcat_crash.txt
logsdk/logcat_kernel.txt
bugreport<other>.zip/bugreport<other>.txt
diag_logs/logs
bugreport<other>.zip/FS/data/misc/logs/

### mdlog
diag_logs/modem/

### netlog
_pcap

### crashlog
ramdump/

## collection
1. 在输入路径内, 创建文件夹 aplog_filter, mdlog_filter, aplog_raw, mdlog_raw, netlog_raw, others
2. 将识别到的aplog, 移动到 aplog_raw 文件夹内, 多份来源不同的aplog, 需要分别存放到不同子文件夹内.
3. 将识别到的mdlog, 移动到 mdlog_raw 文件夹内, 移动时需要带上原mdlog文件夹内其他文件, 不要遗漏.
4. 将识别到的netlog, 移动到 netlog_raw 文件夹内, 
5. 将其余log, 以保持层级结构的方式, 都移动到 others 文件夹内.
6. 后续针对 aplog_raw 内的所有aplog, 调用aplog_filter_tool, 产物移动到 aplog_filter 文件夹内.
7. 后续针对 mdlog_raw 内的所有mdlog, 调用mdlog_filter_tool, 产物移动到 mdlog_filter 文件夹内.
