O tamanho do log e os recursos da máquina influenciam a escolha da ferramenta de leitura. Um editor basta para um trecho curto, um arquivo de vários gigabytes pede outro leitor, e uma máquina em que nada pode ser instalado ainda tem as ferramentas do próprio Windows.
Os arquivos muito grandes
O klogg é um leitor gratuito voltado para a pesquisa em logs grandes. Ele aceita expressões regulares e mostra os resultados em um painel separado, com a volta ao contexto do arquivo. Ele trabalha com arquivos de vários gigabytes, mas o desempenho depende do arquivo e dos recursos da máquina, e nenhuma ferramenta garante a ausência de travamentos.
O klogg também acompanha as alterações do arquivo aberto. Para observar os registros novos, o arquivo acompanhado precisa ser o ativo, sem nenhuma modificação, e a rotação pode trocar o arquivo observado. Uma cópia coletada antes continua sendo um material estático.
O PowerShell, sem instalar um editor
Os comandos de leitura do PowerShell trabalham sobre o material de trabalho:
Get-Content -LiteralPath .\arquivo.log -Tail 50 -Wait: mostra as últimas 50 linhas e continua à espera de linhas novas no mesmo arquivo, até o Ctrl+C;Select-String -LiteralPath .\arquivo.log -Pattern 'erro' -SimpleMatch: pesquisa o texto literal, sem diferenciar maiúsculas de minúsculas;Select-String -LiteralPath .\arquivo.log -Pattern 'PED-0001' -SimpleMatch -Context 2,5: mostra cada correspondência com as duas linhas anteriores e as cinco seguintes;Select-String -Path .\*.log -Pattern 'PED-0001' -SimpleMatch: pesquisa todos os arquivos .log da pasta.
Para o acompanhamento ao vivo, o caminho aponta para o arquivo que está sendo gravado, e a troca ou a remoção desse arquivo pode exigir uma nova leitura no arquivo certo. Sem o parâmetro -SimpleMatch, o Select-String trata o padrão como uma expressão regular. O contexto por quantidade de linhas ajuda, mas pode não cobrir um registro inteiro, com muitas linhas.
Quando os caracteres aparecem trocados, a codificação usada na gravação vem primeiro. O parâmetro -Encoding UTF8 serve para um arquivo gravado em UTF-8 e não corrige um arquivo gravado em outra codificação. Os padrões de leitura e as opções disponíveis também variam entre o Windows PowerShell e o PowerShell mais recente.
O Prompt de Comando
O Prompt de Comando também pesquisa e conta linhas:
findstr /i /n /c:"erro" arquivo.log: pesquisa sem diferenciar maiúsculas de minúsculas e mostra o número das linhas;find /c "Esgotado" ping.txt: conta as linhas que contêm o texto, com diferença entre maiúsculas e minúsculas.
A segunda contagem não mede todas as perdas de um ping, porque as mensagens de falha são diferentes entre si e mudam com o idioma do Windows.
A comparação e a formatação
O WinMerge, gratuito, compara arquivos lado a lado. Ele ajuda a encontrar as diferenças entre uma operação que terminou bem e outra que falhou, ou entre as configurações de duas máquinas. As diferenças são pistas, e só a ligação com o mecanismo da falha mostra qual delas explica o comportamento.
O VS Code formata um JSON pelo comando Formatar documento e recebe extensões para logs e para XML. A mensagem é extraída inteira para uma cópia, com o modo de linguagem adequado, porque um arquivo com o horário e um texto antes do JSON não é um documento JSON válido.
A ferramenta a serviço da pergunta
Um leitor rápido resolve a navegação, mas não interpreta o significado dos registros. Para um pedido, a busca procura os blocos completos e os identificadores. Para uma frequência, a unidade contada precisa estar definida. Para uma ocorrência nova, a janela de acompanhamento é definida, e o arquivo observado precisa continuar sendo o ativo.
Na comparação de arquivos, as opções que ignoram diferenças, como os espaços ou as maiúsculas e minúsculas, ajudam na apresentação, mas podem esconder a alteração de um valor. Os arquivos ficam preservados, e os filtros, os caminhos e as opções que influenciaram o resultado ficam anotados. Uma captura do painel mostra a visualização escolhida e não substitui o material completo quando a análise depende das linhas omitidas.
No suporte
A ferramenta segue o tamanho do arquivo e o que a máquina permite. A pesquisa localiza as linhas, e a leitura do contexto confirma a operação. As transformações acontecem em cópias, e o arquivo ativo fica para o acompanhamento das ocorrências novas.
Para guardar
- O klogg é uma opção para pesquisar arquivos grandes.
- O PowerShell lê, pesquisa e acompanha arquivos, e o caminho define o que é observado.
- O contexto por quantidade de linhas pode não cobrir um registro inteiro.
- A codificação da leitura precisa ser a mesma da gravação.
- Os comparadores mostram diferenças que ainda precisam de interpretação.
Sem instalar nenhum programa, como localizar um pedido com as linhas ao redor?
Com o comando Select-String -LiteralPath .\arquivo.log -Pattern 'PED-0001' -SimpleMatch -Context 2,5, com o caminho e o código ajustados. Ele mostra as correspondências com duas linhas antes e cinco depois, e uma mensagem maior pede um contexto maior, para preservar o registro completo.
O parâmetro -Encoding UTF8 sempre resolve os acentos trocados?
Não. O parâmetro escolhe uma interpretação para os bytes e só funciona quando corresponde à codificação do arquivo. Se o programa gravou em outra codificação, a leitura precisa usar essa outra, e a versão do PowerShell também influencia os padrões e as opções disponíveis.