1954

Thoughts, stories and ideas.

複数サーバーでtail -fっぽく読むJavaライブラリtailer7

tailer7というJavaライブラリを公開しました。

github.com

これを使うと、たとえばcommons-io Tailerでログをtail -fしつつtailer7のLogSenderに投げれば、複数サーバーでLogTailerを立ち上げてstreamingでログを受け取れます。

イデアについてはこの記事にインスパイアされています。

lincolnloop.com

tailer7は以下のような用途を目的として作ったもので、厳密な順序保証とか信頼性とかそういった考慮はされていません。

  • Ansibleを実行するUIを開発していて、ansible logがリアルタイムに流れる画面を作りたい
    • リアルタイムに流れる画面を開き直したとき、新しく流れてくるログだけじゃなく、まずログの頭から読みたい
    • Ansibleを実行するサーバーはtailer7にログを投げ、画面を提供するサーバーはtailer7からログを読めば、スケールしやすくて便利!