DEV Community

Cover image for 📝 Logar de Maneira Sistemática: A Técnica dos 5 W
Gilson Silva
Gilson Silva

Posted on

📝 Logar de Maneira Sistemática: A Técnica dos 5 W

O log é uma prática essencial no desenvolvimento de software, permitindo que desenvolvedores e equipes de operações monitorem, depurem e mantenham sistemas de forma eficiente. No entanto, para que os logs sejam realmente úteis, é importante que sejam feitos de maneira sistemática e organizada. Uma técnica eficaz para isso é o uso dos 5 W: What, Why, Who, Where, When.

1. What (O quĂŞ?)
O que está sendo logado?

O primeiro passo para um log eficiente é definir o que será registrado. Isso pode incluir eventos importantes, erros, exceções, mudanças de estado, entre outros. O objetivo é capturar informações que ajudem a entender o comportamento do sistema.

Exemplo:

{
  "event": "user_login",
  "status": "success",
  "user_id": 12345
}
Enter fullscreen mode Exit fullscreen mode

2. Why (Por quĂŞ?)
Por que esse evento Ă© importante?

Nem todos os eventos precisam ser logados. É importante entender por que você está registrando determinado evento. Isso ajuda a evitar logs desnecessários e a focar em informações que realmente agregam valor, como erros críticos ou ações que afetam diretamente o funcionamento do sistema.

Exemplo:

  • Logar tentativas de login falhas pode ajudar a identificar possĂ­veis ataques de força bruta.
  • Logar mudanças de configuração pode ser Ăştil para auditoria e rastreamento de problemas.

3. Who (Quem?)
Quem realizou a ação?

Identificar quem realizou a ação é crucial para rastrear a origem de eventos. Isso pode ser um usuário, um serviço ou até mesmo um sistema externo. Incluir essa informação nos logs facilita a auditoria e a resolução de problemas.

Exemplo:

{
  "event": "file_upload",
  "user_id": 67890,
  "file_name": "document.pdf"
}
Enter fullscreen mode Exit fullscreen mode

4. Where (Onde?)
Onde o evento ocorreu?

Saber onde o evento ocorreu é importante para identificar o contexto. Isso pode incluir o nome do servidor, o ambiente (produção, desenvolvimento), ou até mesmo a localização geográfica do usuário. Essa informação ajuda a isolar problemas específicos de um ambiente ou região.

Exemplo:

{
  "event": "api_request",
  "endpoint": "/api/v1/orders",
  "server": "prod-server-01"
}
Enter fullscreen mode Exit fullscreen mode

5. When (Quando?)
Quando o evento aconteceu?

Registrar quando o evento ocorreu é fundamental para correlacionar eventos e identificar padrões. A marcação de tempo (timestamp) deve ser precisa e, de preferência, no formato UTC para evitar confusões com fusos horários.

Exemplo:

{
  "event": "payment_processed",
  "timestamp": "2024-10-14T20:30:00Z"
}
Enter fullscreen mode Exit fullscreen mode

ConclusĂŁo

Utilizar a técnica dos 5 W para logar de maneira sistemática garante que seus logs sejam mais organizados, úteis e fáceis de interpretar. Isso facilita a identificação de problemas, a auditoria de ações e a manutenção do sistema como um todo. Lembre-se de sempre registrar o que aconteceu, por que é importante, quem realizou a ação, onde ocorreu e quando aconteceu.

Ao aplicar essa técnica, você estará criando logs mais eficientes e que realmente agregam valor ao seu processo de desenvolvimento e operação.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

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

đź‘‹ Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay