实时输出日志
实时读取日志文件,并输出到命令行或其他操作; 本次演示将日志最后一行实时打印;
安装tail
go get github.com/hpcloud/tail
基本使用
package mainimport ("fmt""github.com/hpcloud/tail""log""os""time")func main() {tailf()}func tailf() {//定义log文件路径logPaht := "./xxx.log"//创建log文件create, _ := os.Create(logPaht) //create 如果文件存在会清空defer create.Close()//定义初始化tail配置config := tail.Config{ReOpen: true,Poll: true,Follow: true,Location: &tail.SeekInfo{Offset: 0,Whence: 2},//从文件末尾读取}file, err := tail.TailFile(logPaht, config)if err != nil {log.Println("初始化tail失败!")return}var (msg *tail.Lineok bool)for {msg, ok = <-file.Linesif !ok {log.Println("读取日志失败!")time.Sleep(time.Second)continue}fmt.Println("msg:", msg.Text)}}
