f69ef84e36
Before going into ChangeEvents(), the code was calling stat on the file to know where it was at, which is incorrect as stat could return the new file size post truncation. Instead we now ask the file descriptor about our current offset, so we can compare our offset to the file size to try to detect truncation. Truncation detection remains brittle, but this closes an annoying race we frequently run into. |
||
---|---|---|
cmd/gotail | ||
ratelimiter | ||
util | ||
watch | ||
winfile | ||
.gitignore | ||
.travis.yml | ||
CHANGES.md | ||
Dockerfile | ||
LICENSE.txt | ||
Makefile | ||
README.md | ||
deps.json | ||
tail.go | ||
tail_posix.go | ||
tail_test.go | ||
tail_windows.go |
README.md
Go package for tail-ing files
A Go package striving to emulate the features of the BSD tail
program.
t, err := tail.TailFile("/var/log/nginx.log", tail.Config{Follow: true})
for line := range t.Lines {
fmt.Println(line.Text)
}
See API documentation.
Log rotation
Tail comes with full support for truncation/move detection as it is designed to work with log rotation tools.
Installing
go get github.com/hpcloud/tail/...
Windows support
This package needs assistance for full Windows support.