地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Go】fsnotifyを使ってみる

github.com

fsnotifyを使って特定ディレクトリ配下のファイルを監視して起きたイベントをコンソールに出力するCLIツールを作ってみた。

仕組みとしては

linuxjm.osdn.jp

アプリケーションで inotify ファイルディスクリプターを read(2) してそのイベントをOSから通知されたら登録しておいたコールバックを呼び出してイベントを出力するもの。tail -Fとかその辺のコマンドでも使われている仕組み。tailはもっとリッチで変更通知を受け取ってかつ出力までしてくれる。

これの使い所としては例えばアプリケーションがログを出力する際に内容によって出力先が変わるケースで全てをtailしたくないけど変更があったファイルは知りたいみたいなケース。tomcatみたいにログ出力場所が多すぎるケースとかで使える気がしてる。

f:id:ryuichi1208:20210220200134p:plain