Golang 实现几行代码实现linux tailf功能

2020-07-23  本文已影响0人  彩色代码

条件:
1、test.log 文件需要存在
2、test.log 如果被重写,并非追加,数据无法读出来

package main

import (
    "bufio"
    "fmt"
    "io"
    "log"
    "os"
    "time"
)

func main() {
    file, err := os.Open("test.log") //针对test.log文件
    if err != nil {
        log.Fatalf("Open file fail:%v", err)
    }
    defer file.Close()
    reader := bufio.NewReader(file)
    for {
        line, err := reader.ReadString('\n')
        if err != nil {
            if err == io.EOF {
                time.Sleep(100 * time.Millisecond)
            } else {
                break
            }
        }
        fmt.Print(string(line))
    }

}

上一篇 下一篇

猜你喜欢

热点阅读