DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

1

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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more