マイクロサービスやコンテナ化されたアプリケーションを扱う際、JSON 形式の構造化ログは事実上の標準となっている。しかし、これらのログがターミナルで純テキストとして出力されると、読みにくいものになってしまう——重ね重ねの波括弧が目を惑わせる。fblog はまさにこの課題を解決するために生まれた軽量ツールだ。

プロジェクト概要

属性内容
GitHubbrocode/fblog
Stars555
言語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/hl2,992機能豊富、複数のログ形式に対応
antonmedv/fx20,344汎用 JSON プロセッサ、ログ専用ではない
brocode/fblog555ログシーンに特化、ミニマル設計、ゼロコンフィグですぐに使える

適用シナリオ

  • ローカル開発:アプリケーションログを素早く確認し、重いログプラットフォームを起動する必要がない
  • 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