我正在处理 go 中生成的日志。使用 io.multiwriter 将内容打印到标准输出和日志文件log := io.MultiWriter(os.Stdout, logfile)。我想为 os.Stdout 和日志文件添加时间戳。
我的方法是写一个写函数
type writer struct {
io.Writer
timeFormat string
}
func (w writer) Write(b []byte) (n int, err error) {
return w.Writer.Write(append([]byte(time.Now().Format(w.timeFormat)), b...))
}
log := io.MultiWriter(&writer{os.Stdout, "2006/01/02 15:04:05"}, logFile)
但是,它不会在标准输出和日志文件中生成时间戳。有谁知道是否有另一种方法可以做到这一点?