log
El paquete log de la biblioteca estándar de Go implementa un registro simple.
go
func main() {
log.Println("Registro")
log.Panicln("Registro de panic")
log.Fatalln("Registro de error")
}Fatal llamará a os.exit(1) después de escribir la información del registro, mientras que panic lanzará un panic.
Prefijo
go
func (l *Logger) Prefix() string //Obtener prefijo
func (l *Logger) SetPrefix(prefix string) //Establecer prefijoEjemplo
go
func main() {
log.SetPrefix("[main]")
log.Println("Registro")
log.Panicln("Registro de panic")
}Flag
Métodos
go
func (l *Logger) Flags() int //Acceder
func (l *Logger) SetFlags(flag int) //EstablecerConstantes
go
const (
Ldate = 1 << iota // Fecha
Ltime // Hora
Lmicroseconds // Microsegundos
Llongfile // Nombre completo del archivo
Lshortfile // Nombre corto del archivo
LUTC // Zona horaria
Lmsgprefix // Prefijo
LstdFlags = Ldate | Ltime // Valor inicial
)Ejemplo
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("Registro")
log.Panicln("Registro de panic")
}Por supuesto, también puede usar log.SetOutput(w io.Writer) para establecer la ruta de salida del registro, o puede crear su propia instancia a través del método New.
go
func New(out io.Writer, prefix string, flag int) *LoggerEn resumen, el paquete log de la biblioteca estándar no proporciona funciones suficientes, y generalmente usamos paquetes de registro de terceros más completos, como zap, etc.
