Para quienes llevan tiempo programando saben que llevar un registro de eventos de nuestras aplicaciones (web, principalmente) es muy importante para dar soporte a ciertas incidencias que pudieran presentarse.
Los loggers son registros que contienen la fecha y hora de ciertos eventos. Estos son importantes cuando queremos saber qué acción disparó el usuario y, en ciertos casos, el resultado que arrojó.
El resultado puede ser satisfactorio o pueden presentarse errores que debemos atender.
.NET nos permite usar librerías como Serilog para realizar estas actividades. La documentación oficial nos dice:
"Serilog proporciona registro de diagnóstico en archivos, la consola y otros lugares".
Además promete ser fácil de configurar y usar.
"Es fácil de configurar, tiene una API limpia y es portable entre las plataformas .NET más recientes".
"Es útil incluso en las aplicaciones más sencillas, la compatibilidad de Serilog con el registro estructurado destaca al instrumentar aplicaciones y sistemas complejos, distribuidos y asíncronos".
Instalando Serilog
La instalación de Serilog la haremos gracias a los NuGets. Podemos abrir una terminal para hacerlo:
$ dotnet add package Serilog $ dotnet add package Serilog.Sinks.Console
Esto siguiendo los pasos del sitio oficial de Serilog.
El sitio de Nuget nos da solo esta acción:
$ dotnet add package Serilog --version 4.3.1
Nos quedaremos con esta última opción de instalación.
Empezando con Serilog
1. Crearemos una aplicación de consola y nos ubicamos en el directorio creado:
$ dotnet new console -n DemoSerilog $ cd DemoSerilog
2. Agregamos Serilog:
$ dotnet add package Serilog --version 4.3.1
3. Validamos la instalación:
$ dotnet list package
Nota: En caso de necesitar más paquetes deberás remover Serilog e instalar todos los siguientes paquetes:
$ dotnet remove package Serilog
$ dotnet add package Serilog $ dotnet add package Serilog.Sinks.Console $ dotnet add package Serilog.Sinks.File $ dotnet add package Serilog.Settings.Configuration
4. Abrimos el Program.cs y lo editamos.
using System; using Serilog; /** * @author Codemonkey Junior * @date 2026/03/14 * */ class Program { public Program() { Console.WriteLine("Objeto 'Program' creado e inicializado."); } ~Program() { } public static void Main(string[] args) { using var log = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File("log.txt") .CreateLogger(); log.Information("Hola, Serilog!"); Log.Information("Nuestra primera configuracion Serilog."); } }
5. Construimos el proyecto y lo ejecutamos:
$ dotnet build $ dotnet run
Salida:
[14:17:07 INF] Hola, Serilog! [14:17:07 INF] Nuestra primera configuracion Serilog.
NLog: alternativa a Serilog
El proyecto https://nlog-project.org es una alternativa a Serilog. El cual es:
..."una plataforma de registro flexible y gratuita para diversas plataformas .NET, incluyendo .NET Standard. NLog facilita la escritura en múltiples destinos (consola, archivo, base de datos, etc.) y permite modificar la configuración de registro sobre la marcha".
Esta alternativa a Serilog la veremos en otra entrega.
Hemos visto que serilog es una biblioteca de registro de diagnóstico para aplicaciones .NET. El cual es fácil de configurar, tiene una API limpia y se ejecuta en todas las plataformas .NET recientes.
También hemos visto cómo instalar, listar y remover paquetes Nuget. En próximas entregas veremos más a fondo esta librería.
Enlaces:
https://serilog.net/Top 13 Libraries in .NET With Alteratives
https://github.com/serilog/serilog/wiki/Getting-Started

No hay comentarios:
Publicar un comentario