Repolode
tstack

tstack/lnav

终端日志查看器,可合并、追踪并用正则和 SQL 检索多个日志文件。

可替代:Splunk

Star
10,754
Fork
414
未关闭 Issue
297
最近提交
4天前

这是什么?

lnav 是一个运行在终端里的日志查看器。给定文件或目录后,它会按需解压、识别日志格式,并把多个文件的日志按时间合并到同一视图中。文件增长时会持续跟踪,文件重命名后也能继续读取,监视的目录中出现新文件时会自动纳入。

在交互界面中,可以快速跳转到上一个或下一个错误和警告,用正则表达式或 SQLite 表达式搜索和过滤,也能用正则高亮特定文本。JSON Lines 等结构化内容支持格式化显示,直方图可查看各时段的日志数量分布。日志消息还可以直接用 SQLite 进行查询分析。

当需要同时处理多个日志时,lnav 可以替代 tail、grep 与 less 的组合。项目提供适用于 Linux、macOS 和 Windows 的静态链接二进制文件,也可通过 Homebrew 和 FreeBSD 的包管理器安装。

核心功能

  • 01将多个文件和目录合并到一个按时间排序的视图中。
  • 02自动解压文件并识别日志格式。
  • 03持续跟踪文件增长与重命名,并自动纳入目录中的新文件。
  • 04支持用正则表达式或 SQLite 表达式过滤和搜索。
  • 05格式化显示 JSON Lines,并提供消息随时间分布的直方图。
  • 06可在查看器内直接用 SQL 查询日志消息。

适用场景

  • 同时排查多台服务器日志中的错误。
  • 无需手动解压即可阅读轮转或压缩的日志归档。
  • 实时查看日志并在警告和错误之间快速跳转。
  • 将 journalctl 的输出导入为可浏览的视图。

快速上手

  1. 1

    在 macOS 上用 Homebrew 安装 lnav

    brew install lnav
  2. 2

    在 FreeBSD 上安装 lnav

    pkg install lnav
  3. 3

    或从发布页面下载适用于 Linux、macOS 或 Windows 的静态链接二进制文件

  4. 4

    将 lnav 指向你的日志文件或目录

    lnav /path/to/file1 /path/to/dir

使用前须知

  • 从源码构建需要安装许多依赖,包括 PCRE2、SQLite、libcurl、libarchive 以及 Rust 工具链。
  • 读取 pcap 文件依赖 Wireshark 的 tshark 程序。

收录于专题

标签

常见问题

lnav 是什么?
终端日志查看器,可合并、追踪并用正则和 SQL 检索多个日志文件。 lnav 是一个运行在终端里的日志查看器。给定文件或目录后,它会按需解压、识别日志格式,并把多个文件的日志按时间合并到同一视图中。文件增长时会持续跟踪,文件重命名后也能继续读取,监视的目录中出现新文件时会自动纳入。
lnav 可以免费使用吗?用的什么许可证?
lnav 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
lnav 还在维护吗?
活跃维护中。lnav 最近一次提交是在 2026年10月18日。
lnav 适合用来做什么?
同时排查多台服务器日志中的错误。 无需手动解压即可阅读轮转或压缩的日志归档。 实时查看日志并在警告和错误之间快速跳转。 将 journalctl 的输出导入为可浏览的视图。
lnav 怎么安装和运行?
在 macOS 上用 Homebrew 安装 lnav: brew install lnav 在 FreeBSD 上安装 lnav: pkg install lnav 或从发布页面下载适用于 Linux、macOS 或 Windows 的静态链接二进制文件 将 lnav 指向你的日志文件或目录: lnav /path/to/file1 /path/to/dir
在哪里获取 lnav?
源代码和安装说明在 GitHub 上:https://github.com/tstack/lnav

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目