package lumberjack import ( "os" "syscall" ) // os_Chown is a var so we can mock it out during tests. var os_Chown = os.Chown func chown(name string, info os.FileInfo) error { f, err := os.OpenFile(name, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, info.Mode()) if err != nil { return err } f.Close() stat := info.Sys().(*syscall.Stat_t) return os_Chown(name, int(stat.Uid), int(stat.Gid)) }