Rod Hynes 8a972ef75d Use Go modules преди 3 години
..
.travis.yml 8a972ef75d Use Go modules преди 3 години
LICENSE ece24d19a3 Vendor most remaining dependencies преди 8 години
README.md ece24d19a3 Vendor most remaining dependencies преди 8 години
rotate.go ce75194a32 Mitigate "permission denied" errors when writing logs преди 5 години

README.md

Build Status

Rotate Safe Writer

Makes an io.Writer that is resilient to inode changes (as caused by logrotate, file deletion, etc.)

This can be used anywhere that requires the io.Writer interface to be satisfied (including os.File). See the tests for usage examples

It works by storing the file's inode as it is opened, then checking whether or not the file at the original path still has the same inode value prior to calling File.Write(). If the inode has changed, the file at the original path will be re-opened, the new inode stored, then the write will continue as normal.