0

go-nsq库(https://github.com/bitly/go-nsq/blob/master/writer_test.go#L38)中,我找到了以下代码:

log.SetOutput(ioutil.Discard)
defer log.SetOutput(os.Stdout)

为什么作者在丢弃日志后将日志记录推迟到标准输出?

4

1 回答 1

1

log.SetOutput(ioutil.Discard)语句更改标准记录器输出目标。该defer log.SetOutput(os.Stdout)语句尝试在函数结束时将输出目标重置为其初始值。但是,它应该已将其重置回os.Stderr.

src/pkg/log/log.go

var std = New(os.Stderr, "", LstdFlags)
于 2014-03-02T19:11:43.007 回答