C# - Usando o Serilog
Neste artigo vou apresentar o Serilog uma biblioteca para registro de diagnósticos, e log para arquivos que pode ser usada via console ou em outros locais. |
O Serilog é uma biblioteca que você pode usar em aplicações .NET para realizar o logging. Ela é simples, fácil de configurar, tem uma API limpa e é portátil entre plataformas .NET recentes.
Os modelos de mensagem do Serilog são uma DSL simples que estende cadeias de string .NET. Os parâmetros podem ser nomeados e seus valores são serializados como propriedades no evento para uma incrível flexibilidade de pesquisa e classificação.
O Serilog usa uma API C# simples para configurar o log. Quando a configuração externa é desejável, você pode usar o pacote Serilog.Settings.AppSettings (.NET Framework) ou o pacote Serilog.Settings.Configuration (.NET Core).
Os coletores de eventos de log geralmente registram eventos de log em alguma representação externa, geralmente o console,
A seguir temos um exemplo que usará o pacote de coletor de console, que imprime dados de registro e o pacote de coletor de arquivo, que grava eventos de registro em um conjunto de arquivos de texto com data e hora.
Install-Package Serilog.Sinks.Console Install-Package Serilog.Sinks.File
Os coletores são configurados usando o objeto de configuração WriteTo.
Criando uma aplicação Console .NET Core e instalando os dois pacotes:
Então se você quer criar apenas um simples log de arquivos basta usar o código abaixo:
using Serilog;
using System;
namespace ConsoleCore_Serilog
{
class Program
{
static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
Log.Information("Usando Serilog...");
}
}
}
|
|
A seguir temos os principais os alvos de atributos:
Vários coletores podem estar ativos ao mesmo tempo. Para adicionar outros coletores basta encadear blocos WriteTo:
using Serilog;
using System;
namespace ConsoleCore_Serilog
{
class Program
{
static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
Log.Information("Usando Serilog...");
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("log-.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
Log.Information("Usando mais um Serilog");
Console.ReadKey();
}
}
}
|
Existem diversos outros recursos que você pode conferir.
No exemplo abaixo temos o registro em um aplicativo de console simples, com eventos enviados para o console, bem como um arquivo de log de rolagem com data e hora.
using Serilog; using System;
namespace ConsoleCore_Serilog Log.Information("Olá, Serilog !");
int a = 10, b = 0;
Log.CloseAndFlush();
} |
O resultado obtido é mostrado a seguir:
Assim, o Serilog é um Logging que vale a pena estudar com mais carinho.
Configura a documentação em : https://serilog.net/
E estamos conversados...
"Naquele tempo, respondendo Jesus,
disse: Graças te dou, ó Pai, Senhor do céu e da terra, que ocultaste estas
coisas aos sábios e entendidos, e as revelaste aos pequeninos."
Mateus 11:25
Referências: