Modelagem do log de aplicação

O log de aplicação é um registro de atividades que serve para administradores de qualquer sistema. Não é preciso descrever o quão importante é esse recurso, principalmente para aplicações distribuídas. Mas, na maioria dos casos, não é dada a devida atenção  para a construção de um bom log, que seja bem estruturado e de fácil entendimento. Assim como foi descrito para o log de testes automatizados, vou listar alguns elementos que devem constar em um bom log de aplicação.

Sistema distribuído

Elementos fundamentais para um bom log de aplicação:

  •  Data e hora. Em aplicações distribuídas, o timezone se torna essencial para identificar o exato momento em que as ações foram executadas.
  • Identificação dos métodos, processos e serviços.
  • Dados das ações, transações e chamadas em ordem cronológica. Exemplos: Xml’s enviados, valores das variáveis utilizadas no processo, identificador dos servidores e dos serviços da aplicação, usuário que fez a transação, registro do timezone em que ocorreu a execução da ação, duração dos eventos, etc).
  • Dados do ambiente em que a aplicação está sendo executada.
  • Layout amigável (Organização visual). Palavras-chave são muito indicadas para a localização dos registros dos eventos.

Exemplo:

[timestamp] [ID] Chamando o web service [ID_webservice]

***
[timestamp] [ID] Inicio do web service [ID_webservice] no servidor [ID_servidor]
[timestamp] [ID] servidor da aplição recebeu em [timestamp timezone]
[timestamp] [ID] Xml enviado
[timestamp] [ID] Resposta do servidor confirmando. Mensagem recebida.
[timestamp] [ID] Fim do web service [ID_webservice]

***

[timestamp] [ID] Cliente [ID_cliente] realizou login
[timestamp] [ID] Cliente [ID_cliente] adicionou produto ao carrinho
[timestamp] [ID] Cliente [ID_cliente] retirou produto ao carrinho
[timestamp] [ID] Cliente [ID_cliente] fechou pedido
[timestamp] [ID] Cliente [ID_cliente] realizou pagamento

Há que se lembrar que, nos casos de aplicações distribuídas, esse tipo de estruturação se torna extremamente viável. Em casos mais simples, talvez os próprios logs oferecidos pelos sistemas operacionais mais modernos sejam suficientes.

About Pedro Costa