fsnotifyを使って特定ディレクトリ配下のファイルを監視して起きたイベントをコンソールに出力するCLIツールを作ってみた。
仕組みとしては
アプリケーションで inotify ファイルディスクリプターを read(2) してそのイベントをOSから通知されたら登録しておいたコールバックを呼び出してイベントを出力するもの。tail -Fとかその辺のコマンドでも使われている仕組み。tailはもっとリッチで変更通知を受け取ってかつ出力までしてくれる。
これの使い所としては例えばアプリケーションがログを出力する際に内容によって出力先が変わるケースで全てをtailしたくないけど変更があったファイルは知りたいみたいなケース。tomcatみたいにログ出力場所が多すぎるケースとかで使える気がしてる。