一个Go语言实现的文件监视工具,支持热重载配置。
- 监视指定目录下的文件变更
- 支持多种文件扩展名过滤
- 递归监视子目录
- 配置文件热重载
- 可配置的防抖(debounce)时间
- 确保已安装Go 1.16+
- 克隆仓库或下载源代码
- 安装依赖:
go get github.com/fsnotify/fsnotify go get github.com/fatih/color
go run main.go
{
"dir": "./watch_dir",
"ext": [".log", ".tmp"],
"recursive": true,
"debounce": "500ms"
}
dir
: 要监视的目录路径ext
: 要监视的文件扩展名数组(支持单个字符串或数组)recursive
: 是否递归监视子目录debounce
: 事件防抖时间(如"500ms")
程序运行时修改config.json文件会自动重新加载配置,无需重启程序。
go build -o filewatcher