C++ 日志切片工具
一个面向大体积文本日志的小工具:按时间范围、关键词和上下文快速切出可分享的片段。
周期2026.06 — 现在
角色个人练习项目
技术C++20 / CMake / CLI
CHALLENGE / 问题
在有限内存下处理大文件,同时让命令行参数保持清楚。
RESULT / 结果
完成流式扫描、上下文窗口和可重复的测试样例。
01
为什么做它
排查问题时,完整日志往往太大,手工复制又容易丢失前后文。我希望用一个足够小的命令行工具,把“找到关键行并保留上下文”变成可重复动作。
02
实现取舍
工具按行流式读取,不把完整文件放进内存。匹配前的上下文保存在固定长度队列里,匹配后的行则通过简单状态机继续输出。
参数只保留输入文件、关键词、前后行数和输出路径,避免把一次练习扩成难以维护的通用查询语言。
03
留下的经验
性能优化前先建立可复现的大文件样例;命令行错误信息应该直接给出修正方向;输出格式必须适合下一步继续搜索。