tailf
使用的代码库:github.com/hpcloud/tail
主要功能
- 自动跟踪日志,动态读取信息
- 检查日志文件状态读取
- 自动添加时间戳
tailf.go
package main
import (
"fmt"
"github.com/hpcloud/tail"
)
func main(){
fileName := "my.log"
tailfs, err := tail.TailFile(fileName, tail.Config{
ReOpen: true, // 文件被移除或被打包,需要重新打开
Follow: true, // 实时跟踪
Location: &tail.SeekInfo{Offset: 0, Whence:2}, // 如果程序出现异常,保存上次读取的位置,避免重新读取。
MustExist: false, // 如果文件不存在,是否推出程序,false是不退出
Poll: true,
})
if err != nil{
fmt.Println("tailf failed, err:", err)
return
}
var msg *tail.Line
var ok bool
for true{
msg, ok = <- tailfs.Lines