top of page

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

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();
        }
    }
}

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.


0 visualização

Posts recentes

Ver tudo

Dica C#: Default Interface Methods

Vamos falar sobre uma novidade do C# 12: Default Interface Methods. Esse recurso permite que interfaces contenham implementações de...

Dica C#: Global Using Directives

Vamos para uma dica do C# 10: Global Using Directives. Com essa funcionalidade, você pode definir diretivas using globais que se aplicam...

bottom of page