1GB 日志秒开:这个 Rust 写的开源日志查看器治好了我的大文件卡顿
翻日志大概是后端开发和运维最频繁又最烦的事。
服务器出了问题,拉日志下来一看,几个 GB。用记事本打开,卡死。用 VS Code 打开,等十秒。用 Notepad++,好一点但还是慢。专业的 LogViewPlus 能解析结构化日志,但冷启动要等一分钟,还收费。klogg 倒是快,但已经四年没更新了,273 个 issue 没人管,也不支持 JSONL。
问题归结起来就两个:大文件打开慢,结构化日志(尤其 JSONL)没有好用的表格视图。
丹青日志 LogLens 想一次性解决这两个。Rust 写的 Windows 日志查看器,1GB 日志冷启动约 600 毫秒,原生支持 JSONL 表格视图。MIT/Apache 双协议开源。
这是什么
LogLens 是一个 Windows 平台的日志查看器,作者 14uncle 在开发者社区自荐发布。定位是”klogg 的速度 × LogViewPlus 的结构化”——既要打开快,又要能解析结构化日志。
技术上用 Rust 写,原生桌面 GUI,不用 Electron。核心机制是内存映射文件(mmap)配合一个轻量的”阶梯式行索引”——不是给每一行都建一个偏移量索引,而是一张压缩的索引表。1GB 文件的行索引内存占用大约 16MB,不用把整个文件读进内存。
这个设计的结果是:1GB 纯文本日志冷启动约 600 毫秒,热启动约 90 毫秒。5GB 约 3 秒,10GB 约 6 到 7 秒。
1GB 秒开
具体数字来自作者在论坛公布的基准测试(Windows 11,release 构建)。
1GB 纯文本日志:索引 92 毫秒,打开冷启动约 600 毫秒,热启动约 90 毫秒。全文搜索”ERROR”(不区分大小写)约 115 毫秒。随机访问每行约 0.52 微秒。
1GB JSONL 日志:索引 94 毫秒,搜索约 129 毫秒,字段过滤 level=ERROR 约 40 毫秒。行索引内存占用不超过 16MB。
对比一下:VS Code 打开 1GB 日志约 10 秒,LogViewPlus 冷启动约 60 秒。差距来自不把整个文件读进内存,而是 mmap 映射加按需读取。
JSONL 原生表格视图
这是 LogLens 和 klogg、VS Code 拉开差距的地方。
打开 JSONL 文件,LogLens 会自动检测——采样前 64 行,如果 90% 以上能解析为 JSON 对象,就判定为 JSONL,进入表格模式。列的发现是采样前 512 行,最多 16 列。嵌套对象用子行展开的方式显示,点开就能看里面的字段。
表格模式下支持字段过滤,语法是空格分隔的 AND 条件。比如 level=ERROR status=50*,星号是后缀通配,裸词是子串匹配。1GB JSONL 上做字段过滤约 40 毫秒。
这个能力对处理结构化日志的人很有用。现代后端日志大量是 JSONL 格式(每行一个 JSON 对象),传统日志查看器要么不当 JSONL 处理(当成纯文本),要么要装插件。LogLens 原生支持,打开就是表格,可以直接按字段过滤。

其他能力
正则搜索。全文扫描,高亮匹配,支持命中导航。默认不区分大小写,加 (?-i) 切换为区分。命中数上限 100 万。1GB 上搜索约 115 毫秒,用的是 SIMD 加速的 memchr。
Tail 跟随。250 毫秒轮询,新行 1 秒内出现。滚到底部自动启用,往上滚自动断开,按 End 恢复。还处理了外部截断和日志轮转——文件被截断或轮换时自动重建索引。
编码支持。UTF-8(带或不带 BOM)、UTF-16 LE/BE(带或不带 BOM)、GBK(CP936,字节级索引加解码)、Latin-1 回退。中文日志用 GBK 编码的不少,这个支持很实际。
级别直方图。左侧栏六个桶(FATAL/ERROR/WARN/INFO/DEBUG/其他),对数刻度柱状图。JSONL 模式下可以点击级别直接过滤。
主题、书签、系统托盘、暗色亮色切换,该有的都有。便携版打包后小于 5MB,解压即用,不用装运行库。
怎么装
三种方式。
GitHub Releases 下载便携版 zip,解压即用,不到 5MB,不用安装,不写注册表。
Microsoft Store 也有(2026 年 9 月 21 日通过认证)。
从源码构建:cargo run --release -- <日志文件路径>。作者还提供了生成测试数据的工具 genlog,可以生成 1GB 纯文本或 JSONL 日志用来跑基准。
现在还不完善的地方
项目很新,GitHub 上 4 Star,有些地方还在打磨。
JSONL 表格化只识别顶层字段,嵌套对象能展开但深层结构有限制。GBK 和 Latin-1 编码下搜索退化为字面匹配,不支持正则。表格列不支持拖拽、隐藏、重排(计划在免费版后续加入)。书签只在当前会话有效,不持久化。不渲染 ANSI 颜色码。搜索命中数上限 100 万。
免费版永久免费。作者计划在 v1.x 加入付费层(一次性买断,个人 29 美元、企业 59 美元),增加多文件时间戳合并、字段分析、导出、工作台会话持久化等高级功能。基础功能不会收费。
和其他工具比
和 klogg 比:klogg 也快,但四年没更新,273 个开放 issue,不支持 JSONL。LogLens 速度相当,还多了 JSONL 表格视图和字段过滤。
和 LogViewPlus 比:LogViewPlus 支持结构化解析,但冷启动约 60 秒,还收费。LogLens 冷启动约 600 毫秒,免费开源。
和 VS Code 比:VS Code 打开 1GB 日志约 10 秒,JSONL 要装插件。LogLens 快一个量级,原生支持 JSONL。
和 EmEditor、UltraEdit 比:这俩能打开大文件,但它们是通用编辑器不是日志专用工具,没有级别直方图、tail 跟随、字段过滤这些日志场景的功能。
适合什么人
如果你符合这几条,LogLens 值得一试:在 Windows 上看日志;日志文件经常上 GB;要处理 JSONL 格式的结构化日志;受够了 VS Code 和 Notepad++ 的慢;想要免费开源的方案。
几个提醒。目前只支持 Windows 10 1809 及以上,需要 DirectX 12 兼容的 GPU。项目很新,4 Star,功能在迭代。UTF-16 转码复制时内存占用会翻倍(1GB 文件约 500MB),大于 2GB 的文件还没充分验证。
获取方式:GitHub 仓库 github.com/14uncle/danqing-log,或 Microsoft Store 搜索”丹青日志”。
大日志文件打开慢这件事,用 Rust 加 mmap 解决得干干净净。加上 JSONL 原生表格视图,这个工具填补了 Windows 上一个好用的日志查看器的空白。
关注「善忘技术夹」全媒体矩阵
扫描上方宣传海报二维码,第一时间获取最新技术文章、开源项目与免安装小程序体验。