Registro de Golang para archivar

Registro de Golang para archivar
El registro es una de las herramientas más importantes para un desarrollador. Permite monitorear una aplicación para errores, problemas de rendimiento, seguimiento de uso y mucho más. Por lo tanto, aprender a crear registros para su aplicación es muy beneficioso.

Usando esta guía, le presentaremos el paquete de registro en la biblioteca estándar GO y la usaremos para crear registros personalizados.

Paquete de registro de Golang

La biblioteca estándar Go es masiva, créanme, posee una colección de herramientas, servicios públicos y paquetes para aspectos casi importantes de un programador.

Uno de esos paquetes es el paquete de registro. Viene equipado con todo lo que necesita para implementar funciones de registro para sus programas Go. Esto incluye varios niveles de registro, como depuración, advertencia, error, información, etc.

El método más básico en el paquete de registro es el método println. Al igual que el método println desde el paquete FMT, le permite crear un mensaje de registro básico.

Un código fuente de ejemplo es como se muestra a continuación:

paquete principal
importar "registro"
func Main ()
registro.Println ("Hola, ahí!")

Si ejecutamos el código anterior, deberíamos ver y salir como se muestra:

2022/01/27 21:29:35 Hola, ahí!

Observe algo diferente en el mensaje impreso en la consola?

El método println del paquete de registro incluye una marca de tiempo de cuándo se creó el mensaje de registro. Si está ingeriendo los registros para una aplicación de registro, tener la marca de tiempo es muy beneficiosa para filtrar registros.

Tenga en cuenta que el paquete de registro imprimirá el mensaje en la transmisión de Stderr. También puede configurarlo para escribir en un archivo, como cubriremos en la siguiente sección.

Registro de Golang para archivar

Para iniciar sesión en un archivo, puede usar el paquete del sistema operativo para crear un archivo de registro si no existe o abrir y escribir en un archivo existente. Hacerlo establecerá la salida del paquete de registro en el archivo de salida especificado.

Tenga en cuenta que el paquete de registro también admite otro destino de salida que admite IO.Interfaz de escritor.

Un código de ejemplo para registrar un archivo es como se muestra en el fragmento a continuación:

paquete principal
importar (
"registro"
"OS"
"tiempo"
)
func Main ()
// Abrir archivo y crear si no existen
Archivo, err: = OS.OpenFile ("personalizado.Registro ", OS.O_append | OS.O_create | OS.O_WRONLY, 0644)
Si err != nulo
registro.Fatal (err)

aplazar el archivo.Cerca()
Logger: = log.Nuevo (archivo, "registro personalizado", registro.Lstdflags)
maderero.Println ("Soy un nuevo mensaje de registro")
tiempo.Dormir (5 * tiempo.Segundo)
maderero.Println ("un nuevo registro, 5 segundos después")

En el ejemplo anterior, comenzamos abriendo un archivo para usar como salida del registro. Incluimos las banderas para escribir en el archivo y crearlo si no existe.

Luego verificamos si hay un error al leer/escribir en el archivo. Si se produce un error, registramos el error usando el registro.Fatal.

El registro.El método fatal () es similar al método print () pero incluye una llamada al sistema operativo.Salir () con un código de estado de 1.

El siguiente paso es cerrar el archivo. Establecemos la función de cierre establecida para diferir, permitiendo que la función se ejecute después de que se realice la función principal.

El siguiente paso es crear un nuevo registrador que escriba en el archivo. El registro.La función del registrador toma 3 argumentos principales:

  1. La salida del registro, en este caso, es el archivo de registro.
  2. El prefijo que se adjunta al comienzo de cada entrada en el archivo de registro.
  3. Finalmente, es el registro constante después del prefijo de texto para cada línea de registro.

Las siguientes son constantes de registro compatibles:

  1. Lidato
  2. LTIME
  3. Lmicrosegundos
  4. Longfile
  5. Lshortfile
  6. Lutc
  7. Lmsgprefix
  8. Lstdflags

Considere el recurso de documentación a continuación para obtener más información.

https: // pkg.ir.dev/log#PKG-Constants

En nuestro ejemplo anterior, también establecemos un tiempo de sueño durante 5 segundos. Si ejecutamos el código anterior, debemos obtener una salida como se muestra a continuación:

$ Cat Custom.registro
LOG2022 personalizado/01/27 21:40:25 Soy un nuevo mensaje de registro
Log2022/01/27 personalizado 21:40:30 Un nuevo registro, 5 segundos después

La marca de tiempo entre la primera entrada de registro y la segunda entrada de registro está separada por 5 segundos. Esto se debe a la función de sueño en el código anterior.

Conclusión

Esta publicación explora el concepto de creación y creación de registradores para su aplicación en Go. Usando esta guía, puede comenzar a usar el paquete de registro GO y crear mecanismos de registro avanzados para sus aplicaciones.

Gracias por leer!