Analisador de logs e redação
Largue um ficheiro de log de produção e obtenha uma tabela filtrável: Apache/Nginx, JSON Lines e syslog reconhecidos automaticamente, valores sensíveis ocultados e CSV, JSON ou texto limpos como saída. O ficheiro nunca sai do seu navegador — a análise acontece localmente, e é essa a razão de ser desta página.
- Linhas lidas
- Linhas guardadas
- Erros / avisos
- Intervalo de tempo
| Hora | Nível | Origem | Mensagem |
|---|
O que esta página faz com os seus logs
Um ficheiro de log só é útil quando se torna uma tabela: a hora numa coluna, o nível noutra, a mensagem legível sem percorrer o texto bruto. Esta página analisa cada linha nessas colunas, conta os níveis e permite-lhe filtrar até às linhas que importam — só erros, ou tudo o que mencione um nome de anfitrião, um caminho, um utilizador. A tabela mostra as primeiras 1.000 linhas correspondentes; as contagens abrangem tudo o que foi lido, por isso sabe sempre se o filtro escondeu nove linhas ou nove mil.
Os ficheiros são lidos em blocos de 1 MB em vez de carregados como uma única cadeia, para que um log de produção de vários megabytes não congele o separador enquanto carrega. As primeiras 20.000 linhas analisadas são guardadas para filtrar e exportar; além disso, a página continua a contar cada linha e reporta os totais com honestidade. Se o seu ficheiro for maior, filtre antes de exportar — ou divida o ficheiro e passe-o duas vezes. Nada neste fluxo toca numa rede: a API File lê os bytes, o analisador corre na página e a exportação é montada a partir dessas mesmas linhas locais.
A redação é correspondência de padrões, não uma garantia
A redação oculta os valores que mais vezes vazam num log partilhado: endereços de e-mail, endereços IP, tokens Bearer, ID de chave de acesso da AWS e os valores escritos a seguir às etiquetas api_key, secret, password ou token. Está ativada por predefinição e aplica-se à tabela e a todos os formatos de exportação. Mas é correspondência de padrões, e os padrões falham coisas — um token num formato invulgar, um segredo dividido por várias linhas, um nome de anfitrião interno que identifica um cliente. Trate a exportação como mais segura, não como segura: leia-a uma vez antes de a enviar para qualquer lado, especialmente para fora da sua organização. Se precisar dos valores brutos para a sua própria depuração, desligue a redação — o interruptor está logo acima da tabela.
É essa distinção que faz a página existir. Colar um log de produção numa janela de chat ou num visualizador online entrega o seu conteúdo a um terceiro para sempre; analisá-lo localmente não entrega nada a ninguém. A conveniência de um visualizador alojado nunca vale o conteúdo do log, e um separador do navegador que nunca faz um pedido é a forma mais simples de ter a certeza.
Perguntas frequentes
O meu ficheiro de log sai do meu navegador?
Não. O ficheiro é lido com a API File e analisado localmente; nada é enviado e não há qualquer chamada ao servidor. É esse o ponto: os logs de produção contêm endereços, tokens e dados de utilizadores que não devem ser colados numa janela de chat nem enviados para um visualizador qualquer.
Que formatos de log são reconhecidos?
Logs de acesso combined do Apache/Nginx, JSON Lines (um objeto JSON por linha), linhas syslog e um modo genérico de recurso que examina qualquer linha em busca de palavras-chave de nível. A deteção automática tenta combined, depois JSON, depois syslog e depois o genérico — ou escolha um formato explicitamente se a deteção automática errar.
O que é que a redação esconde exatamente?
Endereços de e-mail, endereços IPv4 e IPv6, tokens Bearer, ID de chave de acesso da AWS e os valores a seguir às etiquetas api_key/secret/password/token. É correspondência de padrões, não uma garantia: os formatos invulgares escapam, por isso reveja a exportação antes de a enviar para qualquer lado. A redação está ativada por predefinição e aplica-se tanto à tabela como à exportação.
Qual o tamanho de ficheiro que posso abrir?
Os ficheiros são lidos em blocos de 1 MB para que um log de vários megabytes não congele o separador. Todas as linhas são contadas, as primeiras 20.000 linhas analisadas são guardadas para filtrar e exportar, e a tabela mostra as primeiras 1.000 linhas correspondentes. Para trabalhos maiores, filtre primeiro e exporte depois.
Porque é que algumas linhas têm nível «info» se parecem erros?
Os logs de acesso não têm campo de nível, por isso o nível é inferido do estado HTTP: 5xx é erro, 4xx é aviso, tudo o resto é informação. As linhas JSON usam o seu próprio campo de nível quando está presente. Se uma linha parecer mal classificada, o código de estado ou o texto da mensagem ao lado dela é a verdade de referência.