Skip to content

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 prefijo

Ejemplo

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) //Establecer

Constantes

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) *Logger

En 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.

Golang editado por www.golangdev.cn