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.

Top comments (0)