52.tailf日志组件

https://github.com/hpcloud/tail

package main

import (
    "fmt"
    "github.com/hpcloud/tail"
    "time"
)

func main() {
    logfile := "/Users/zhoushuai/go/src/www.jhoushuai.com/studyProject/day13/GoTailF/xx.log"
    config := tail.Config{
        ReOpen:    true,                                 // 重新打开
        Follow:    true,                                 // 是否跟随
        Location:  &tail.SeekInfo{Offset: 0, Whence: 2}, // 从文件的那个位置开始读
        MustExist: false,                                // 文件不存在不报错
        Poll:      true,
    }
    contents, err := tail.TailFile(logfile, config)
    if err != nil {
        fmt.Println(err)
        return
    }

    //for line := range contents.Lines {
    //  fmt.Println(line.Text)
    //}
    var (
        line *tail.Line
        ok   bool
    )
    for {
        line, ok = <-contents.Lines
        if !ok {
            fmt.Printf("tail file close reopen ,filename %s", contents.Filename)
            time.Sleep(time.Second)
            continue
        }
        fmt.Println(line.Text)
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 6,605评论 0 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 8,150评论 1 3
  • 第一天读书清单的打卡,大概知道什么是清单的写法,但是速度有点慢呢~~啦啦啦~~加油~~~ 001 天真练习就是单纯...
    柳彤阅读 1,729评论 0 6
  • 一直都想找个机会和您聊聊以表达我的感激,可一方面知道您很忙,另一方面就是,就是我在校时成绩不好,由其是数学,以致于...
    似水流年1982阅读 1,761评论 0 1
  • ​以下内容转自知乎 今天上班一上知乎,发现一下子这么多赞…… 之前答主的答案也被放出小黑屋了 就是最高赞那个 ==...
    指尖猿阅读 8,338评论 1 4