介绍
Stail是一款基于监听系统级命令来循环输出文件末尾数据的一款golang组件,可用于实时日志输出等功能,而对于golang中常用的tail组件都是使用fsnotify来实现的,因此从底层实现并不一样。
使用方法
func useSTail(filepath string, tailLine int) {
st, err := stail.New(stail.Options{})
if err != nil {
fmt.Println(err)
return
}
si, err := st.Tail(filepath, tailLine, func(content string) {
fmt.Print(fmt.Sprintf("获取到内容: %s", content))
})
if err != nil {
fmt.Println(err)
return
}
time.AfterFunc(time.Second*10, func() {
err = si.Close() // 10s之后关闭获取通道
}
si.Watch()
}