software programa new logger log golang example logging go

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:

  1. La impresión a través del registro del paquete está a salvo de los goroutines concurrentes (que fmt no es)

  2. 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).