/tail

[Revamped] Go package for reading from continuously updated files (tail -f)

Primary LanguageGoMIT LicenseMIT

Go Reference ci FreeBSD

tail functionality in Go

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.

Installing

go get github.com/SEKOIA-IO/tail

History

This project is an active, drop-in replacement for the abandoned Go tail library at nxadm that itself is a fork of hpcloud.

Examples

Examples, e.g. used to debug an issue, are kept in the examples directory.