https://github.com/Songmu/replaceablewriter 表題の通りですが、io.Writer をラップして io.WriteCloser として振る舞い、その内部に保持した io.Writer を差し替え可能にするライブラリを書いた。 例えば、Goの標準logをログローテートしたい場合には以下のようにします。 f, _ := os.OpenFile("20191001.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) w := replaceablewriter.New(f) log.SetOutput(w) // 翌日になったら差し替える f2, _ := os.OpenFile("20191002.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) w.Repl
![Goの任意のLoggerをログローテート対応できるreplaceablewriter | おそらくはそれさえも平凡な日々](https://cdn-ak-scissors.b.st-hatena.com/image/square/44fc27d71b62444cac921d824d82f54b46f499e2/height=288;version=1;width=512/https%3A%2F%2Fsongmu.jp%2Friji%2Fstatic%2Fimg%2Fsongmu-ogp.jpg)