IT TIP

fmt.Println 대신 log.Println을 사용해야하는 이유는 무엇입니까?

itqueen 2020. 12. 8. 20:36
반응형

fmt.Println 대신 log.Println을 사용해야하는 이유는 무엇입니까?


에서 log.go (로그 패키지의 구현) :

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합니까?

실용적인 이유가 있습니까?


두 가지가 다릅니다.

  1. 패키지 로그를 통한 인쇄는 동시 고 루틴으로부터 안전합니다 (일반 fmt은 그렇지 않음).

  2. 로그는 자동으로 타이밍 정보를 추가 할 수 있습니다.

그래서 이것들은 완전히 다른 두 가지입니다. log는 로깅 및 fmt포맷 용입니다. (알겠습니다. log는 동일한 동사와 플래그를 사용하지만 편리합니다.)

참고 URL : https://stackoverflow.com/questions/19646889/why-should-i-use-log-println-instead-of-fmt-println

반응형