JSONやlogfmtのログを読みやすく表示し、フィルタリング、ソート、ライブ追従にも対応するコマンドラインログビューア。
- スター
- 10,754
- フォーク
- 414
- 未解決の Issue
- 297
- 最終コミット
- 4 日前
これは何?
lnavはターミナルで動作するログビューアです。ファイルやディレクトリを指定すると、必要に応じて展開して形式を判別し、複数のファイルのログを時刻順に並べた1つのビューに統合します。ファイルの追記を監視し、名前の変更にも対応するほか、監視対象のディレクトリに新しく追加されたファイルも取り込みます。
対話型インターフェースでは、エラーや警告の間を移動したり、正規表現やSQLite式で検索・フィルタリングしたり、パターンをハイライトしたりできます。JSON-linesのような構造化された行は整形して表示でき、メッセージ量の推移をヒストグラムで確認できます。また、ビューア内からSQLiteを使ってログメッセージを直接クエリできます。
複数のログをまとめて扱う際に、tail、grep、lessを組み合わせる方法に代わる実用的なツールです。Linux、macOS、Windows向けの静的バイナリのほか、HomebrewやFreeBSDのパッケージからインストールできます。
主な機能
- 01複数のファイルやディレクトリを、時刻順に並べた1つのビューに統合します。
- 02ファイルを展開し、ログ形式を自動で判別します。
- 03ファイルの追記や名前の変更を追跡し、監視対象のディレクトリに追加されたファイルも取り込みます。
- 04正規表現やSQLite式で検索・フィルタリングできます。
- 05JSON-linesを整形して表示し、メッセージ量の推移をヒストグラムで確認できます。
- 06ビューア内でログメッセージに対するSQLクエリを実行できます。
ユースケース
- 複数のサーバーログを横断してエラーを調査する。
- ローテーション済みまたは圧縮されたログアーカイブを、手動で展開せずに読む。
- ライブログを監視しながら、警告やエラーの間を移動する。
- journalctlの出力をパイプで渡し、操作しながら閲覧する。
クイックスタート
- 1
macOSでHomebrewを使ってlnavをインストールする
brew install lnav - 2
FreeBSDにlnavをインストールする
pkg install lnav - 3
または、リリースページからLinux、macOS、Windows向けの静的リンクバイナリをダウンロードする
- 4
ログファイルまたはディレクトリをlnavに指定する
lnav /path/to/file1 /path/to/dir
使う前に知っておきたいこと
- ソースからビルドするには、PCRE2、SQLite、libcurl、libarchive、Rustツールチェーンなど、多くの依存関係が必要です。
- pcapファイルの読み取りには、Wiresharkのtsharkプログラムが必要です。
トピック
よくある質問
- lnav とは?
- 複数のログファイルを統合・追跡し、SQLや正規表現で検索できるターミナル用ログビューア。 lnavはターミナルで動作するログビューアです。ファイルやディレクトリを指定すると、必要に応じて展開して形式を判別し、複数のファイルのログを時刻順に並べた1つのビューに統合します。ファイルの追記を監視し、名前の変更にも対応するほか、監視対象のディレクトリに新しく追加されたファイルも取り込みます。
- 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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
リアルタイムのログ分析に対応したGo製ターミナルUI。ライブチャート、重大度の内訳、正規表現フィルタリング、任意で利用できるAI分析を備えています。
lazygitに着想を得た、複数のSQLデータベースに接続してクエリを実行できるキーボード操作主体のターミナルUI。
Rust製のターミナル向けGit UI。キーボード操作でステージング、コミット、ブランチ管理、stash、ログ閲覧ができます。