PROJECT / 01持续整理

C++ 日志切片工具

一个面向大体积文本日志的小工具:按时间范围、关键词和上下文快速切出可分享的片段。

周期2026.06 — 现在
角色个人练习项目
技术C++20 / CMake / CLI
CHALLENGE / 问题

在有限内存下处理大文件,同时让命令行参数保持清楚。

RESULT / 结果

完成流式扫描、上下文窗口和可重复的测试样例。

01

为什么做它

排查问题时,完整日志往往太大,手工复制又容易丢失前后文。我希望用一个足够小的命令行工具,把“找到关键行并保留上下文”变成可重复动作。

02

实现取舍

工具按行流式读取,不把完整文件放进内存。匹配前的上下文保存在固定长度队列里,匹配后的行则通过简单状态机继续输出。

参数只保留输入文件、关键词、前后行数和输出路径,避免把一次练习扩成难以维护的通用查询语言。

03

留下的经验

性能优化前先建立可复现的大文件样例;命令行错误信息应该直接给出修正方向;输出格式必须适合下一步继续搜索。