logo
0
1
WeChat Login

RoboKit 日志合并工具

这个目录包含用于处理 RoboKit debug zip 日志包的 shell 工具。

功能说明

merge_robokit_zip_logs.sh 会处理 RoboKit debug zip,例如:

/mnt/c/Users/tinska/Downloads/robokit-Debug-20260428091928.zip

处理流程:

  1. 将 zip 解压到临时目录。
  2. 在解压结果中查找包含 d/ 子目录的 log/ 目录。
  3. 解压 log/d/*.zst 到文本日志。
  4. 收集顶层 log/*.log 和解压后的 log/d/*.log
  5. 按日志时间戳合并日志行。
  6. 按顶层 *.0.log 文件作为分段起点生成分段日志。
  7. 将所有分段日志再拼接成一份完整日志。

日志行时间戳格式会按如下形式识别:

[YYMMDD HHMMSS.mmm]

如果日志行没有可识别的时间戳,会退回使用文件名中的时间作为排序依据。

依赖

需要系统中已安装以下命令:

bash
unzip
zstdcat
awk
sort
find

在 Debian/Ubuntu 环境中可安装:

sudo apt install unzip zstd

安装命令

执行:

./install_mlog.sh

默认会创建软链接:

$HOME/.local/bin/dlog -> ./merge_robokit_zip_logs.sh

如果希望安装到其他目录或使用其他命令名:

./install_mlog.sh --prefix /tmp/bin --name mlog

如果安装后提示找不到 dlog,请确认 $HOME/.local/binPATH 中。可在 shell 启动文件中加入:

export PATH="$HOME/.local/bin:$PATH"

然后重新打开终端,或执行:

source ~/.zshrc

使用方法

安装后直接使用 dlog

dlog /mnt/c/Users/tinska/Downloads/robokit-Debug-20260428091928.zip

默认输出目录位于当前工作目录:

./robokit-Debug-20260428091928_merged_logs/

也可以指定输出目录:

dlog /mnt/c/Users/tinska/Downloads/robokit-Debug-20260428091928.zip /tmp/merged_logs

不安装命令时,也可以直接运行脚本:

./merge_robokit_zip_logs.sh /path/to/robokit-Debug.zip

指定输出目录:

./merge_robokit_zip_logs.sh /path/to/robokit-Debug.zip /tmp/merged_logs

查看帮助:

./merge_robokit_zip_logs.sh --help
./install_mlog.sh --help

输出内容

输出目录中主要包含:

robokit_merged_all.log      合并后的完整日志
segment_*.log               按每个顶层 *.0.log 起点拆分出的分段日志
d_txt/                      从 log/d/*.zst 解压得到的文本日志
.work/                      中间文件列表,便于排查合并范围和分段结果

注意事项

  • zip 中必须存在 log/ 目录,且该目录下必须包含 d/ 子目录。
  • 顶层 log/ 目录下必须至少存在一个 *.0.log,脚本会用它作为分段起点。
  • 每次运行时会清理目标输出目录中的旧 segment_*.logrobokit_merged_all.logd_txt/.work/
  • 临时解压目录会在脚本退出时自动删除。

About

将3.4.8.0022+版本zip日志中的debug和其他等级日志合并到一起的工具。

Language
Shell100%