logging - programa - ¿Por qué debería usar log.Println en lugar de fmt.Println?
new log programa (1)
Desde log.go (la implementación del paquete de registro):
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
es solo un contenedor de funciones para fmt.Sprintln
, ¿por qué debería usarlo en lugar de fmt.Println
o fmt.Sprintln
?
¿Alguna razón práctica?
Dos cosas son diferentes:
La impresión a través del registro del paquete está a salvo de los goroutines concurrentes (que
fmt
no es)Log puede agregar información de tiempo automáticamente.
Entonces estas son dos cosas completamente diferentes. log es para iniciar sesión y fmt
para formatear. (De acuerdo, el registro usa los mismos verbos y banderas, pero eso es simplemente conveniente).