Paquete de Golang Logrus

Paquete de Golang Logrus

En esta lección sobre el paquete Logrus en Golang, estudiaremos varios ejemplos sobre cómo se puede hacer el registro efectivo en Go y ver cuán importantes son los registros en el lenguaje de programación GO. Comenzaremos ahora.

Empezando con Go

Aquí está la estructura del directorio que hice para mi programa Hello World:

Aquí está el programa que creamos:

paquete principal
importar "fmt"
func Main ()
fmt.Printf ("Hola, mundo.\norte")

Podemos ejecutar el programa anterior con el siguiente comando:

Ve a correr hola.ir

Una vez que ejecutemos este comando, aquí está la salida que verá:

Ahora que se ve bien. Pasemos a nuestra agenda principal.

Paquete de Logrus en Golang

Para comenzar a usar el paquete Logrus en el programa GO, debemos conseguir él. Ejecute el siguiente comando:

ir a buscar -t github.com/sirupsen/logrus

Cuando comenzamos a usar este paquete en IntelliJ, vemos este error que podemos resolver con un solo clic:

Una vez que obtenga el paquete, podemos comenzar a usarlo. Comencemos con un programa simple.

Registro básico con Logrus

Comenzaremos con un ejemplo de registro de nivel de información muy básico. El registro se puede hacer con mensajes de cadena y metadatos en forma de pares de valores clave que parecen iguales.

paquete principal
importar (
Registro "Github.com/sirupsen/logrus "
)
func Main ()
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
"Ayuda": 200,
).Información ("Golang Pro")

Cuando ejecutamos este programa, podemos ver la siguiente salida:

Ahora que es útil y colorido!

Varios niveles de registro

Ahora, intentaremos otro ejemplo que muestre el uso de varios niveles de registro disponibles en Logrus y en general. Ellos son:

  • Información
  • Advertencia
  • Fatal
  • Depurar
  • Pánico

Intentemos construir un programa y ver cómo difieren estos niveles de registro cuando aparecen en nuestro programa:

paquete principal
importar (
Registro "Github.com/sirupsen/logrus "
)
func Main ()
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
).Información ("Mensaje de información de Golang Pro")
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
).Advertir ("Golang Pro Warn Mensaje")
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
).Fatal ("Mensaje fatal de Golang Pro")
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
).Panic ("Mensaje de Panic Pro Golang Pro")
registro.Withfields (registro.Campos
"Sitio web": "Linuxhint.com ",
"Impresionante": 100,
).Debug ("Mensaje de depuración de Golang Pro")

Cuando ejecutemos este programa, veremos el siguiente resultado:

Noté algo? Las declaraciones de registro después de la declaración fatal ni siquiera aparecen en nuestra salida. Esto se debe a que tan pronto como se recibe un error fatal, la ejecución del programa se detiene en Golang.

Modificemos el orden de estas declaraciones y verifiquemos si también se observan algunos cambios en la salida:

Esta vez, incluso el nivel de registro de pánico reaccionó de la misma manera, pero la salida fue muy diferente y detallada.

Con el nivel de registro de pánico, se asegura de que suficiente información sobre la máquina host también imprimida en la salida en la consola para que el trabajo sea debuggable.

Forma más simple de hacer registros

En las llamadas anteriores, los registros fueron bastante detallados y con metadatos también. Hay una forma más fácil de registrar sus mensajes. Probemos esto ahora:

paquete principal
importar (
Registro "Github.com/sirupsen/logrus "
)
func Main ()
registro.Depuración ("Datos de depuración aquí.")
registro.Información ("Mensajes para información común")
registro.Advertir ("Deberías mirar esta advertencia!")
registro.Error ("Algo falló pero el programa continuará.")
// llama al sistema operativo.Salir (1) Después de registrar
registro.Fatal ("Me voy.")
// llama pánico () después de registrar
registro.Panic ("No me imprimiré :(")

Aquí está el resultado del programa:

El comportamiento para el registro era el mismo, pero esta vez, fueron fáciles de hacer en una sola línea.

Conclusión

En esta publicación, estudiamos ejemplos simples pero útiles sobre cómo podemos registrar mensajes importantes con diferentes gravedad y verbosidad en nuestras aplicaciones utilizando el paquete Logrus con Golang.