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)
posted @   SpecialSpeculator  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示