O log JSON permite analisar o arquivo de log programaticamente, mesmo que o formato tenha sido alterado com o tempo .
Um bom exemplo são os logs do Apache. Por padrão, o Apache usa o common
formato para access.log:
"%h %l %u %t \"%r\" %>s %b"
Digamos que você criou um analisador offline que pega um desses arquivos de log e calcula algumas estatísticas a partir dele.
Em algum momento, você apresenta subdomínios ao seu aplicativo e os inclui virtual_host
nos logs (apenas para depurar se houver problemas com um dos subdomínios):
"%v %h %l %u %t \"%r\" %>s %b"
Seu analisador não faz uso do virtual_hosts
, mas você ainda precisa adaptá-lo a:
- aceite o novo formato de log (observe
%v
no início do formato de log)
- ainda suporta o formato de log antigo (para arquivos de log antigos)
Mas se você efetuar login no JSON , seu analisador nem perceberá o campo adicionado e poderá analisar com satisfação os novos logs e os logs antigos. E algum outro analisador pode fazer uso dos campos adicionados, se existirem .
E, é claro, para você , analisar o JSON é mais fácil do que escrever regexps
para analisar os logs de sequência.