Open Log Viewer v1.3.5
VSCode Extension · MIT · v1.3.5

Open Log Viewer

VSCode 扩展。把服务器日志块从「打不开」变成「可排查」 — 整块载入带真实进度,关键词 / 线程 / 类 / 级别叠加过滤即时响应, 时间线导航,书签注释,可一键重跑的排查模板。

$ code --install-extension wake.big-log-viewer
server.log 486 MB · 3,712,540 行
12:34:56INFOCache hit ratio: 0.94
12:34:57ERRORDatabase connection timeout
12:34:58INFORetry attempt 1 of 3
12:34:59WARNSlow query: 1.2s
主界面 · 时间线 + 搜索栏 + 书签行,真实样貌
01

为什么需要它

线上问题排查要翻的服务器日志,经常几百 MB 起步,而且通常按大小或日期自动分块。 VSCode 直接打开这类文件就废 — 打开慢、滚动卡顿、搜索要等几分钟,跳不到想去的行。

Open Log Viewer 接管这件事:按「单块日志」设计,一块一块看正好是排查的自然节奏。 打开时整块载入并显示真实进度,载入完成后搜索 / 过滤 / 翻页都在内存里即时完成; 跳转到行 / 时间走流式定位,只读目标行附近的上下文,不用重新载入。 排查要用的工具它也配齐了 — 多关键词搜索、级别 / 线程 / 时间过滤、时间线、书签 / 注释,还有把固定流程存成一键重跑的排查模板。

标注数据存在用户级存储,排查模板分享走剪贴板或 JSON,全程不依赖工作区。

vscode 默认打开大文件
× 几百 MB 的文件打开就卡,更大直接拒绝
× 全量渲染,内存占用高、界面易无响应
× 全文件搜索要等几分钟
× 无法分页,无法快速跳转
↓
✓ 打开带真实进度,载入后搜索 / 翻页即时响应
✓ 跳转到行 / 时间流式定位,只读附近上下文
✓ 多关键词搜索 / 正则 / 高级查询
✓ 时间线、书签、排查模板一键到位
02

核心能力

01 · I/O

整块载入与分页浏览

打开时整块载入,磁盘读取全程流式,进度按真实字节推进(百分比、已读行数),不是转圈假动画。 载入后分页浏览,每页只渲染当前页的行(50 到 1000 行可调),百万行日志翻页也不卡; 跳转到行 / 时间走流式定位,只读取目标行附近 ±500 行上下文。

  • 多文件同时打开,各占独立面板,状态互不干扰
  • 加载失败 / 编码异常时给出明确错误
02 · SEARCH

多关键词搜索 + 高级搜索

搜索框支持多关键词,空格分隔即 AND 匹配,比如 error timeout 只命中两个词同时出现的行。 勾选「正则」切正则模式,勾「当前页」只在当前显示的页内定位。

高级搜索是查询构建器:每行一个条件(关键词 / 线程名 / 类名 / 方法名 / 级别 / 时间范围), 行间「且/或」芯片切换整体逻辑,底部实时预览这次查询会做什么。 所有条件叠加,「取消筛选」一键清空。

  • 全局搜索历史 50 条,聚焦搜索框一键重搜
  • 折叠重复日志时,徽标显示当前搜索的命中数
03 · NAVIGATE

时间线导航

把整个文件按时间采样画成分布图,点哪跳到哪,当前浏览位置高亮跟着走, 随时知道自己在哪个时间段。采样密度可在设置里调(默认 200,范围 20 – 1000)。

  • 按时间过滤、跳转到指定时间
  • 统计面板给出总行数、各级别数量、时间范围
04 · TEMPLATE

排查模板

固定排查流程存成模板,自动重跑,换个订单号或 traceId 就能复用。 四种动作自由编排:查询日志、筛选、打书签、加注释, 动作间自动传上下文(比如从命中行提取线程名接着筛)。

  • 命中多条时可配置「让我选择 / 保留全部 / 自动选第一条」
  • 零命中时可配置终止或跳过继续
  • 可视化与 JSON 双形式编辑,导入导出走剪贴板或文件
05 · ANNOTATE

书签、注释、高亮规则

双击日志行加书签,右键命名(留空默认「行 N」);注释从右键菜单发起,列表集中管理。 内置 ERROR / WARN / INFO / DEBUG、时间戳、线程名高亮规则,也支持自定义正则规则。

  • 书签行整行主题色高亮,列表可一键导出书签日志
  • 注释可编辑、删除,方便团队协作分析
03

支持的日志格式

查看器本身是通用文本查看器,任何 .log / .txt 都能打开、搜索、加书签。 在此基础上自动识别时间戳和日志级别 (归一化到 ERROR / WARN / INFO / DEBUG 四档,FATAL、SEVERE 计入 ERROR,TRACE、VERBOSE 计入 DEBUG)。 下表是常见日志组件默认 / 典型输出的实测情况。

日志组件 时间戳 级别
Logback / Log4j / Log4j2 / SLF4J、Spring Boot 默认格式识别识别
log4net / NLog(.NET)识别识别
Python logging(%(asctime)s 格式)、Gunicorn识别识别
logrus、zap 控制台格式(Go)识别识别
Rails、Laravel / Monolog、winston 文本格式识别识别
Go 标准库 log、IIS W3C、syslog RFC5424识别—
Docker json-file、bunyan(JSON 内含 ISO 时间字段)识别—
Tomcat catalina(JUL)、JBoss / WildFly 默认 pattern—识别
Serilog Console 默认、Apache error log—识别
Python logging 默认格式、uvicorn(INFO: 前缀)—识别
nginx / Apache access log(01/Jan/2024 英文月份日期)——

识别不到时间戳只影响时间范围过滤、时间线、按时间裁剪这三类功能,打开、搜索、级别过滤、书签、注释全部照常可用。 级别简写 E / W / I / D、ERR / WRN / INF / DBG / TRC 默认就能识别; 如果你们的日志用了别的缩写,在设置里配级别别名即可。

04

四套主题

在「⋯ 更多 → 设置」面板里切换,立即生效,选择会写入 VSCode 用户配置。

server.log 486 MB
12:00:01INFOApplication started on port 3000
12:00:02WARNSlow query: 1.2s on /users/123
12:00:03ERRORConnection refused to redis-01
12:00:04INFORetry attempt 1 of 3
12:00:05DEBUGCache hit ratio 0.94
默认
跟随 VSCode 当前编辑器主题
server.log 486 MB
12:00:01INFOApplication started on port 3000
12:00:02WARNSlow query: 1.2s on /users/123
12:00:03ERRORConnection refused to redis-01
12:00:04INFORetry attempt 1 of 3
12:00:05DEBUGCache hit ratio 0.94
NEON.CYBER
纯黑底 + 霓虹青 / 品红 / 琥珀 + 扫描线
server.log 486 MB
12:00:01INFOApplication started on port 3000
12:00:02WARNSlow query: 1.2s on /users/123
12:00:03ERRORConnection refused to redis-01
12:00:04INFORetry attempt 1 of 3
12:00:05DEBUGCache hit ratio 0.94
AURORA.GLASS
深蓝紫渐变 + 毛玻璃 + 极光动效
server.log 486 MB
12:00:01INFOApplication started on port 3000
12:00:02WARNSlow query: 1.2s on /users/123
12:00:03ERRORConnection refused to redis-01
12:00:04INFORetry attempt 1 of 3
12:00:05DEBUGCache hit ratio 0.94
HOLO.PRISM
炭灰底 + 全息渐变描边 + 仪表盘质感
05

命令面板

所有功能都可从 VSCode 命令面板(Ctrl+Shift+P)调用。

Open Log Viewer: 打开大日志文件
选择一个日志文件在查看器中打开
Open Log Viewer: 高级搜索
打开查询构建器
Open Log Viewer: 排查模板
打开排查模板管理
Open Log Viewer: 书签管理
查看 / 编辑 / 导出书签
Open Log Viewer: 注释管理
查看 / 编辑 / 删除注释
Open Log Viewer: 跳转到行号
输入行号直接跳转
Open Log Viewer: 显示日志统计
总行数、级别分布、时间范围
Open Log Viewer: 刷新日志文件
文件被外部更新后重新读取
Open Log Viewer: 按时间删除日志
直接修改原文件,慎用
Open Log Viewer: 按行数删除日志
直接修改原文件,慎用
06

安装

要求:VSCode 1.75 或更高版本。

方式 A · 扩展市场(推荐)

在扩展面板搜索「Open Log Viewer」或「Open Log Viewer」,或直接执行:

$ code --install-extension wake.big-log-viewer
方式 B · 从源码打包
$ git clone https://github.com/uwakeme/large_log_check.git
$ cd large_log_check
$ npm install
$ npm run package

打包在项目根目录生成 .vsix,在扩展面板「⋯ → 从 VSIX 安装」里选它即可。

第一次使用

资源管理器里右键任意 .log / .txt 文件,选「打开大日志文件」。 进度条走完就是完整日志。每个文件在独立面板中打开,书签、注释、搜索状态都按面板隔离,关闭面板即释放资源。