35
從log.go(日誌包的實現):爲什麼我應該使用log.Println而不是fmt.Println?
167 // Println calls l.Output to print to the logger.
168 // Arguments are handled in the manner of fmt.Println.
169 func (l *Logger) Println(v ...interface{}) { l.Output(2, fmt.Sprintln(v...)) }
log.Println
僅僅是fmt.Sprintln
功能的包裝,我爲什麼要使用它,而不是fmt.Println
或fmt.Sprintln
?
任何實際的原因?
我喜歡日誌,因爲時間戳。使用Log的缺點是它總是寫入stderr。 – rem7
@ rem7它通過* default *登錄到'os.Stderr'。只需調用['log.setOutput'](https://golang.org/pkg/log/#SetOutput)將其發送給任何'io.Writer'(甚至可能是'bytes.Buffer')。 –
請問,你可以添加代碼示例'從併發goroutines安全日誌' – bsbak