Skip to content
/ tail Public

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

License

Notifications You must be signed in to change notification settings

nxadm/tail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ba755e4 · Oct 10, 2023
Oct 10, 2023
Feb 7, 2021
Feb 8, 2021
Dec 22, 2016
Feb 7, 2021
Oct 10, 2023
Feb 7, 2021
Feb 7, 2021
Nov 2, 2021
Nov 2, 2021
Oct 10, 2023
Feb 7, 2021
Sep 6, 2019
Sep 9, 2019
Nov 2, 2021
Oct 10, 2023
Oct 10, 2023
Dec 16, 2021
Feb 7, 2021
Dec 16, 2021
Feb 7, 2021

Repository files navigation

Go Reference ci FreeBSD

tail functionality in Go

nxadm/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/nxadm/tail/...

History

This project is an active, drop-in replacement for the abandoned Go tail library at hpcloud. Next to addressing open issues/PRs of the original project, nxadm/tail continues the development by keeping up to date with the Go toolchain (e.g. go modules) and dependencies, completing the documentation, adding features and fixing bugs.

Examples

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