人工智能学习

logtail

本文主要是介绍logtail,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用第三方模块

"github.com/hpcloud/tail"

初始化Tail指针

package logtail

import (
	"fmt"

	"github.com/hpcloud/tail"
)

var (
	tailObj *tail.Tail
)

func Init(path string) (err error) {
	tailObj, err = tail.TailFile(path, tail.Config{Follow: true, ReOpen: true, MustExist: false})
	if err != nil {
		fmt.Printf("init logtail failed,%v\n", err)
		return
	}
	return
}

读取指针返回的内容

func ReadLinesChan() chan *tail.Line {
	return tailObj.Lines
	// Lines返回的是一个管道chan,管道里面存的是tail.Line每行的指针
}

从管道里取数据,取的就是文件每行追加的内容

line := <- ReadLinesChan()
fmt.Printf("tail line:%v\n", line.Text)
这篇关于logtail的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!