log.go (लॉग पैकेज के कार्यान्वयन) से:मुझे fmt.Println के बजाय log.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
के बजाय इस्तेमाल करना चाहिए?
कोई व्यावहारिक कारण?
मुझे टाइमस्टैम्प की वजह से लॉग पसंद है। लॉग का उपयोग करने का नकारात्मक पक्ष यह है कि यह हमेशा stderr को लिखता है। – rem7
@ rem7 यह * os.Stderr' को * डिफ़ॉल्ट * पर लॉग करता है। किसी भी 'io.Writer' को भेजने के लिए बस [' log.SetOutput'] (https://golang.org/pkg/log/#SetOutput) को कॉल करें (जो कि 'बाइट्स भी हो सकता है। बफर')। –
कृपया, क्या आप समवर्ती goroutines से 'लॉग सुरक्षित है' के लिए कोड उदाहरण जोड़ सकते हैं – bsbak