DEV Community

Matheus
Matheus

Posted on

1

Golang: Importância de planejar como exibir logs em aplicações de uso intenso

Na maioria das vezes não gastamos o tempo necessário para planejar corretamente os logs das nossas aplicações, que posteriormente nos causa um retrabalho, muitas vezes desnecessário.

O uso bem planejado e aplicado de logs pode, além de melhorar uma análise futura sobre algum problema, impactar de forma significativa o desempenho da aplicação, principalmente para processos intensos.

Pensando em exemplificar e demonstrar um pouco desse impacto, seguem dois exemplos com seu benchmark, respectivamente.

O primeiro de uma forma comum de "loggar" informações no código, mas pouco valor de informação, se torna apenas um dado:

benchmark_logs_test.go
benchmark_logs_test

Benchmark:
Benchmark_log

E o segundo com o log estruturado, apresentando somente no final os tempos de inicio, finalização e a mensagem.

benchmark_logs_enhancement_test.go
benchmark_logs_enhancement_test

Benchmark:
Benchmark_logs_enhancement

Ambos exemplos, possuem um loop de cem mil de índices, que usando goroutines, incrementa uma variável.
Ao iniciar é capturado a hora atual, e ao finalizar, é impresso o tempo que levou.
Estou usando a biblioteca logrus de logs, pois tem inúmeras propriedade e funcionalidade interessantes, como o log estruturado.

Nitidamente pode ser perceber, a diferença que pode causar no desempenho das aplicações, um log não pensado corretamente.

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay