json-log-viewer は、構造化ログ専用に設計されたターミナルビューアーツールです。Go 言語で書かれ、Bubble Tea TUI フレームワークをベースに、退屈な JSON ログをインタラクティブでフィルタリング可能、読みやすい形式に変換します。

プロジェクト概要

属性内容
GitHubhedhyw/json-log-viewer
Stars217
言語Go
特徴インタラクティブ、フィルタリング、ショートカット操作
最終更新21日前

解決する課題

現代のアプリケーションは一般的に JSON 形式の構造化ログを出力しますが、これにより人間の目で直接読むのが困難という問題が生じます。問題を調査する際、私たちはしばしば次のような状況に直面します:

  • ログファイルは数万行に及び、cattail ではエスケープ文字の羅列しか見えない
  • 重要な情報がネストされた JSON フィールドに埋もれている
  • 時間、レベル、サービス名でフィルタリングしたいが、grep で複雑な正規表現を書く必要がある

json-log-viewer はこれらの問題を一度に解決します。設定は不要で、Web サービスを起動する必要もありません。ターミナルを開くだけで使えます。

核心機能

インタラクティブな閲覧

起動後、ログはテーブル形式で表示され、キーボードの上下でページ移動が可能です。各ログのフィールドは自動的に解析され、列として表示されます。Enter キーで単一行を展開して完全な JSON を確認できます。

リアルタイムフィルタリング

/ キーで検索モードに入り、以下の構文がサポートされています:

  • level:error —— エラーレベルのログのみ表示
  • service:api AND duration>1000 —— 複合条件でのフィルタリング
  • message~timeout —— あいまいマッチ

フィルタリングはリアルタイムで、大規模なログファイルでも即座に応答します。

フィールドのカスタマイズ

デフォルトでは一般的なフィールド(timestamp、level、message など)を自動認識しますが、設定ファイルで表示する列やフォーマットをカスタマイズすることも可能です。

ライト/ダークテーマ

t キーでテーマを切り替え、ターミナルの配色に合わせることができます。

クイックスタート

インストール

Homebrew:

brew install hedhyw/tap/json-log-viewer

Go install:

go install github.com/hedhyw/json-log-viewer@latest

バイナリダウンロード: Releases ページから対応プラットフォームの実行ファイルをダウンロードしてください。

基本使用法

# ファイルを表示
jlview application.log

# パイプ入力
cat app.log | jlview

# リアルタイム追跡
kubectl logs -f pod-name | jlview

比較表

ツールStars特徴
pamburus/hl3k機能豊富、高性能だが非インタラクティブ
brocode/fblog557最小限でスクリプト統合に適している
json-log-viewer217インタラクティブな TUI、従来のログビューアーに最も近い体験

ターミナルで less を使うようにログを閲覧したいが、JSON をインテリジェントに解析してほしい場合、json-log-viewer はより適切な選択です。

ユースケース

  • ローカル開発:ブラウザや IDE を開かずにアプリケーションログを素早く確認
  • サーバー調査:SSH ログイン後に直接表示、複雑な依存関係をインストールする必要なし
  • CI/CD デバッグ:パイプ入力でビルドログを分析
  • Kubernetes 運用kubectl logs と組み合わせて使用、デフォルト出力よりはるかに読みやすい

注意事項

  • TUI をサポートするターミナルが必要(現代のターミナルはすべて問題なし)
  • 極めて大規模なログファイル(GB 単位)は、開く前にフィルタリングすることを推奨
  • フィルタリング構文はシンプルですが十分機能的で、複雑な正規表現はサポートされていない

まとめ

json-log-viewer は小さく美しいツールです。膨大な機能マトリックスはなく、「ターミナルで快適に JSON ログを表示する」という一件事を徹底的に実現しています。217 の star はその専念を反映しており、価値の上限を示すものではありません。日常業業で大量の構造化ログを扱う場合、PATH に常駐させる価値のあるツールです。

属性内容
リポジトリhttps://github.com/hedhyw/json-log-viewer
ライセンスMIT
言語Go
メンテナー@hedhyw