replaceablewriter replace internal io.Writer
f, _ := os.Open("...")
w := replaceablewriter.New(f)
defer w.Close()
w.Write(...)
// replace
f2, _ := os.Open("...")
w.Replace(f2)
w.Write(...)replaceablewriter is a library that keeps io.Wrter inside, provides io.WriteCloser interface, and allows us to replace internal io.Writer safely.
It is useful for log rotation, etc.
% go get github.com/Songmu/replaceablewriter