DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

Logging Estruturado com Serilog

O Serilog é uma biblioteca de logging que se destaca por seu suporte a logs estruturados. Ele permite registrar logs com dados de maneira mais detalhada e organizada, facilitando a consulta e análise desses logs posteriormente. O Serilog também oferece uma integração fácil com diversas plataformas, incluindo arquivos, bancos de dados e serviços de monitoramento de logs. Neste exemplo, veremos como configurar o Serilog para gerar logs em um arquivo.

Bibliotecas:

Para usar a biblioteca Serilog, instale os seguintes pacotes NuGet no seu projeto:

Install-Package Serilog
Install-Package Serilog.Sinks.File
Enter fullscreen mode Exit fullscreen mode

Código de Exemplo:

using Serilog;
using System;

namespace SerilogExemplo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configurando o Serilog para registrar logs em um arquivo
            Log.Logger = new LoggerConfiguration()
                .WriteTo.File("serilog-log.txt")
                .CreateLogger();

            // Exemplos de logs
            Log.Information("A aplicação começou.");
            Log.Warning("Este é um aviso.");
            Log.Error("Um erro ocorreu no processo.");

            Console.WriteLine("Logs gerados. Verifique o arquivo serilog-log.txt.");

            // Encerrando o logger
            Log.CloseAndFlush();
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação do Código:

Neste exemplo, configuramos o Serilog para gravar logs em um arquivo chamado serilog-log.txt. Utilizamos o método WriteTo.File para definir o destino dos logs. Três tipos de logs são gerados: Information, Warning, e Error. Cada log é escrito no arquivo com detalhes estruturados. Por fim, utilizamos Log.CloseAndFlush() para garantir que todos os logs pendentes sejam gravados antes de encerrar a aplicação.

Conclusão:

O Serilog é uma poderosa ferramenta para quem deseja trabalhar com logs estruturados, permitindo a captura de dados mais ricos e organizados. Com sua facilidade de configuração e integração com várias plataformas, o Serilog é ideal para monitorar e depurar aplicações de forma eficiente.

Código fonte: GitHub

Top comments (0)