fblog:555⭐のミニマル JSON ログビューア、ターミナルでのログ分析に最適
マイクロサービスやコンテナ化されたアプリケーションを扱う際、JSON 形式の構造化ログは事実上の標準となっている。しかし、これらのログがターミナルで純テキストとして出力されると、読みにくいものになってしまう——重ね重ねの波括弧が目を惑わせる。fblog はまさにこの課題を解決するために生まれた軽量ツールだ。
プロジェクト概要
| 属性 | 内容 |
|---|---|
| GitHub | brocode/fblog |
| Stars | 555 |
| 言語 | Rust |
| 特徴 | 軽量、高性能、カスタマイズ可能な出力形式 |
| 最終更新 | 19日前 |
解決する課題
現代のアプリケーションでは JSON 形式のログが一般的だ。典型的なログエントリはこのようなものだ:
{"timestamp":"2026-03-21T08:05:00Z","level":"INFO","service":"api","message":"Request processed","duration_ms":42,"user_id":"12345"}
ターミナルで直接確認すると、このようなコンパクトな形式は素早くスキャンしにくい。fblog はこれを人間に優しい形式に変換する:
2026-03-21 08:05:00 | INFO | Request processed
service: api
duration_ms: 42
user_id: 12345
主要機能
メッセージテンプレートのカスタマイズ
--message-format パラメータで出力形式をカスタマイズできる。例えば、時間、レベル、メッセージのみを表示するには:
fblog --message-format "{timestamp} [{level}] {message}"
ネストしたフィールドの展平
ネストされた JSON オブジェクトを自動的にフラットな形式に展開し、手動で階層構造を解析する必要がない。
ストリーム処理
パイプライン入力に対応し、既存のログ処理フローにシームレスに統合できる:
docker logs -f myapp | fblog
kubectl logs -f deployment/api | fblog
フィールドフィルタリング
--implicit-format-return オプションを内蔵し、特に注目したいフィールドを指定できる。
高性能
Rust で実装されており、大きなログファイルを処理する際のメモリ使用量が極めて低い。Node.js や Python ベースの類似ツールを大きく上回る速度を誇る。
クイックスタート
インストール
# macOS/Linux(Homebrew 経由)
brew install fblog
# または cargo を使用
cargo install fblog
# プリコンパイル済みバイナリをダウンロード
curl -L https://github.com/brocode/fblog/releases/latest/download/fblog-x86_64-unknown-linux-gnu -o fblog
chmod +x fblog
基本的な使い方
# ファイルを表示
fblog app.log
# パイプライン入力
cat app.log | fblog
# リアルタイム追跡
tail -f app.log | fblog
類似ツールとの比較
| ツール | Stars | 特徴 |
|---|---|---|
| pamburus/hl | 2,992 | 機能豊富、複数のログ形式に対応 |
| antonmedv/fx | 20,344 | 汎用 JSON プロセッサ、ログ専用ではない |
| brocode/fblog | 555 | ログシーンに特化、ミニマル設計、ゼロコンフィグですぐに使える |
適用シナリオ
- ローカル開発:アプリケーションログを素早く確認し、重いログプラットフォームを起動する必要がない
- CI/CD パイプライン:テスト出力を見やすくし、ログの可読性を向上
- 本番環境でのトラブルシューティング:SSH でサーバーに接続後、即座にログを分析
- Docker/Kubernetes:コンテナオーケストレーションツールと組み合わせてリアルタイムログストリームを表示
注意事項
- JSON 形式の構造化ログのみ対応。プレーンテキストログには別のツールが必要
- 出力の色は端末のサポートに依存し、ファイルへのパイプリダイレクト時は自動的に無効化される
- ライセンスは WTFPL(Do What The F*ck You Want To Public License)で、非常に寛容
まとめ
fblog はポジショニングが明確なニッチツールだ。あらゆる機能を網羅しようとせず、「JSON ログを読みやすくする」という一つのことに徹している。ターミナルでログを頻繁に処理する開発者にとって、この 555 stars のプロジェクトは試す価値がある。
| 属性 | 内容 |
|---|---|
| リポジトリ | https://github.com/brocode/fblog |
| ライセンス | WTFPL |
| 言語 | Rust |
| メンテナー | @bomgar |