大型日志分析器
在本地流式读取、筛选、绘图并导出超大型 Serilog、.NET、Nginx、JSON Lines 和文本日志。
输入内容和文件始终留在浏览器中
将日志文件拖放到此处
将日志文件拖放到此处
.log、.txt、.jsonl 或 .ndjson。文件始终保留在此设备上。
本地 Web Worker 会以大小受限的分块扫描文件。输入内容和筛选条件绝不会被上传或持久化。
导入设置
安全限制:每行 2 MiB、1 亿条记录、每个筛选条件和聚合标签 512 个字符、2,000 个不同的聚合值,以及 4,096 个不同的时间戳分钟。
请选择日志文件,以建立本地稀疏索引并分析其中的记录。
筛选完整日志
严重性计数
事件时间线
此结果中没有带时间戳的记录。
最常见的错误类型
最常见的消息模板
聚合基数已达到安全限制。记录计数和筛选仍然精确;少见的新标签或时间戳分钟将从图表中省略。
确切的原始行
请选择一行结果以查看其原始源文本。
为确保响应速度,屏幕上的原始行已缩短至 64 KiB。导出时会保留每个字节。
导出完整的筛选结果
导出时会重新扫描每条记录,并使用原始行结束符流式输出匹配的原始行,绝不会只导出当前可见的预览。
不支持原生保存选择器的浏览器会使用大小限制为 512 MiB 的内存下载后备方案。
本页内容
大型日志分析器完全在浏览器中检查生产日志。它支持 Serilog JSON 和紧凑日志事件格式、普通 .NET 文本、Nginx 访问和错误日志、通用 NDJSON 以及纯文本,无需上传运维数据。
详细功能
分析器通过 Web Worker 每次读取一个大小受限的分块,并且仅保留稀疏文件偏移量和大小受限的聚合计数器。它会提取时间戳、严重性、来源、请求或关联 ID、渲染后的消息、消息模板和异常类型。筛选时会重新扫描完整源文件,而虚拟表格仅请求一小页可见数据。格式错误的结构化行仍会显示并计入统计,而不会静默消失。
导出时会重新扫描完整的筛选结果,并使用原始的 LF、CRLF 或 CR 终止符流式输出原始 UTF-8 行字节。界面会显示 Serilog 渲染后的 @m 文本,而 @mt 仍作为热门消息计数的分组键。任何输入或结果都不会存储在 localStorage 中。
实用示例
Serilog CLEF: {"@t":"2026-10-17T10:01:00Z","@l":"Error","@mt":"Payment failed for {OrderId}","@m":"Payment failed for 17"} 会将变化的订单 ID 归入同一个模板。
Nginx 访问日志: 根据 HTTP 状态码类别为组合日志请求分配严重性。
关联搜索: 输入请求 ID 以筛选跨来源的事件,然后导出每一条匹配的原始行。
如何使用此工具
选择格式
普通文件可使用自动检测,也可以明确选择 Serilog/.NET、Nginx、JSON Lines 或文本。
打开日志
拖放一个本地文件,并查看精确的字节数、已用时间和吞吐量。取消操作会销毁未完成的 Worker 会话。
筛选和检查
组合使用包含边界的时间范围、严重性、来源、请求/关联 ID 和全文搜索。浏览虚拟结果表格,并选择一行以查看原始文本。
导出
下载完整的筛选结果。Worker 会重新扫描原始文件,并以背压方式流式输出所有匹配项。
提示和最佳实践
- 如果不希望将任意 JSON 对象解析为 Serilog,请明确选择 JSON Lines 预设。
- 格式错误计数是指不符合所选结构化预设的行;通用文本会接受每一行有效的 UTF-8 文本。
- 未选择任何严重性时,结果为空。时间范围会排除无法解析出时间戳的记录。
- 为确保内存安全,聚合标签和时间戳分钟存在基数限制,但总计数、筛选、分页和导出仍然精确。
- 全文搜索会匹配解码后的确切原始行,且不区分大小写。