SEKOIA-IO/tail provides a Go library that emulates the features of the BSD tail
program. The library comes with full support for truncation/move detection as
it is designed to work with log rotation tools. The library works on all
operating systems supported by Go, including POSIX systems like Linux, *BSD,
MacOS, and MS Windows. Go 1.12 is the oldest compiler release supported.
A simple example:
// Create a tail
t, err := tail.TailFile(
"/var/log/nginx.log", tail.Config{Follow: true, ReOpen: true})
if err != nil {
panic(err)
}
// Print the text of each received line
for line := range t.Lines {
fmt.Println(line.Text)
}
See API documentation.
go get github.com/SEKOIA-IO/tail
This project is an active, drop-in replacement for the abandoned Go tail library at nxadm that itself is a fork of hpcloud.
Examples, e.g. used to debug an issue, are kept in the examples directory.