
UNIX系のシステムではシステムの情報を記録する「ログ」が刻々と記録されています。
大部分のログファイルはテキスト形式であるため、「tail」などのコマンドを使って内容を確認することができますが、表示された内容は色分けされていないため、重要な情報を素早く読み取るのが困難な場合があります。
本日紹介する「tailspin」はこの問題を解決するRust製のツールで、ログファイルを内容をハイライトして分かりやすく表示することができです。
次のような特徴を持っています。
- あらゆる形式のログファイルを表示
 - セットアップや設定は不要
 - 数字、日付、IPアドレス、UUID、URLなどをハイライト表示
 - ハイライトグループはすべてカスタマイズ可能
 - 他のコマンドとの統合が簡単
 - スクロールバック、検索、フィルタリングにlessを使用
 
以下使用方法を説明します。
tailspinの使用方法
tailspinは以下のような方法でインストールすることができます。macOSの場合Homebrewで簡単にインストールできますし、RustのパッケージツールCargoを使ってインストールすることもできます。
# Homebrew brew install tailspin # Cargo cargo install tailspin # AUR paru -S tailspin # Nix nix-shell -p tailspin # NetBSD pkgin install tailspin
インストールされたtspinコマンドを使用し(注意: tailspinではありません)、次のように実行します。
tspin -f ログファイル名
tailと同じく、-fオプションを指定するとログファイルの末尾を監視し続けることができます。例えばapacheのログは次のように表示されます。

表示方法をカスタマイズするには~/.config/tailspinにconfig.tomlを作成します。この内容は例えば次のようになります。
style = { fg = "color", bg = "color", italic = false, bold = false, underline = false }
tailspinはファイルを取り扱えるだけではなく、標準入力、標準出力にも対応していてパイプによって他のプログラムと協調して動作することもできます。
journalctl -f | tspin cat /var/log/syslog | tspin kubectl logs -f pod_name | tspin
ページャーとしてlessを使用しており、j/kによるスクロールや、d/uによるページアップ/ページダウン、g/Gキーによる先頭/末尾への移動などのナビゲーションに対応しています。
まとめ
tailspinを使用することでログファイルを分かりやすく表示することができます。監視作業を普段から行っているサーバー管理者の方に特におすすめのツールです。
