在 go-nsq
库 ( https://github.com/bitly/go-nsq/blob/master/writer_test.go#L38 ) 中,我找到了以下代码:
log.SetOutput(ioutil.Discard)
defer log.SetOutput(os.Stdout)
为什么作者在丢弃日志后将日志记录延迟到标准输出?
最佳答案
log.SetOutput(ioutil.Discard)
语句更改标准记录器输出目的地。 defer log.SetOutput(os.Stdout)
语句尝试在函数结束时将输出目标重置回其初始值。但是,它应该已将其重置回 os.Stderr
。
var std = New(os.Stderr, "", LstdFlags)
关于logging - 在 log.SetOutput(ioutil.Discard) 之后延迟 log.SetOutput(os.Stdout),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131865/