golang

Paquete Golang Logrus

Paquete Golang Logrus

En esta lección sobre el paquete Logrus en Golang, estudiaremos varios ejemplos sobre la efectividad del registro en Go y veremos qué tan importantes son los registros en el lenguaje de programación Go. Empezaremos ahora.

Comenzando con Go

Aquí está la estructura de directorios 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á el resultado que verá:

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

Paquete Logrus en Golang

Para comenzar a usar el paquete Logrus en el programa Go, debemos obtener eso. 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 INFO muy básico. El registro se puede realizar con mensajes de cadena y metadatos en forma de pares clave-valor que parecen iguales.

paquete principal
importar
log "github.com / Sirupsen / logrus "
)
func main ()
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
"ayuda": 200,
).Información ("Golang pro")

Cuando ejecutamos este programa, podemos ver el siguiente resultado:

Ahora que es útil y colorido!

Varios niveles de registro

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

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

paquete principal
importar
log "github.com / Sirupsen / logrus "
)
func main ()
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
).Información ("mensaje INFO de Golang pro")
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
).Advertir ("mensaje de advertencia de Golang pro")
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
).Fatal ("mensaje de Golang pro FATAL")
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
).Pánico ("Mensaje de Golang pro PANIC")
Iniciar sesión.WithFields (registro.Campos
"sitio web": "linuxhint.com ",
"impresionante": 100,
).Debug ("Mensaje de DEBUG 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.

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

Esta vez, incluso el nivel de Panic Log 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 también se imprima suficiente información sobre la máquina host en la salida en la consola para que el trabajo sea depurable.

Una forma más sencilla de hacer registros

En las llamadas anteriores, los registros eran bastante detallados y también tenían metadatos. Existe una forma más sencilla de registrar sus mensajes. Probemos esto ahora:

paquete principal
importar
log "github.com / Sirupsen / logrus "
)
func main ()
Iniciar sesión.Debug ("Depurando datos aquí.")
Iniciar sesión.Información ("Mensajes para información común")
Iniciar sesión.Warn ("Deberías mirar esta advertencia!")
Iniciar sesión.Error ("Algo falló pero el programa continuará.")
// Llama al sistema operativo.Salir (1) después de iniciar sesión
Iniciar sesión.Fatal ("me voy.")
// Llama a panic () después del registro
Iniciar sesión.Pánico ("No me imprimirán :(")

Aquí está la salida del programa:

El comportamiento para el registro fue 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 diferente gravedad y verbosidad en nuestras aplicaciones usando el paquete Logrus con Golang.

OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...