It should be stdErrlike line 58log.go :
var std = New(os.Stderr, "", LstdFlags)
Thus, package methods such as Fatal()use std by default:
func Fatal(v ...interface{}) {
std.Output(2, fmt.Sprint(v...))
os.Exit(1)
}
The blog How to Write Go Packet Encoders Love (by Baron Schwartz) mentions this technique:
, Go, - , -. ( ; , -, .) . .
, , , . , , init().
, , log, - log.Print(). , .
? log.Logger .
, Go 1.13 (Q3 2019) Writer() .