Em um arquivo com milhares de registros, o técnico precisa chegar à operação certa sem perder as mensagens ao redor. O Notepad++ reúne a pesquisa, a marcação e os recursos de apresentação que facilitam esse trabalho, e as transformações acontecem em uma cópia de trabalho, com o material coletado preservado.
A pesquisa e a navegação
A janela de pesquisa abre com o atalho Ctrl+F, e os recursos principais são estes:
- Localizar todos no documento atual: lista as ocorrências em um painel, com o número da linha, e um clique leva ao trecho;
- Localizar em arquivos: pelo atalho Ctrl+Shift+F, pesquisa uma pasta inteira, o que ajuda quando a rotação distribuiu o período por vários logs;
- Ir para: pelo atalho Ctrl+G, abre direto uma linha conhecida;
- Contar: mede as correspondências do texto ou do padrão pesquisado, conforme as opções da busca.
Os atalhos são os padrões e podem ter sido alterados. A contagem mede correspondências, e não operações: uma mensagem com ERRO duas vezes produz duas correspondências, e uma tentativa pode produzir vários registros de erro. A opção de pesquisar só na seleção também muda o resultado.
O modo Expressão regular busca padrões, como um prefixo de data e hora. Para um identificador literal, o modo Normal evita que caracteres como o ponto ou o colchete sejam interpretados como parte de uma expressão.
A marcação e a extração
Na aba Marcar, a opção de marcar a linha coloca um marcador nas linhas encontradas. No menu Pesquisar, a parte dos marcadores permite copiar as linhas marcadas ou remover as linhas não marcadas. Os nomes dos comandos variam com a tradução e com a versão.
Essa extração trabalha por linha, e não por evento completo. Quando o identificador aparece só no cabeçalho de uma mensagem de várias linhas, o filtro exclui o JSON, o XML ou a pilha de chamadas que vem abaixo dele. Por isso, a pesquisa localiza o evento, e a cópia leva o bloco inteiro e o contexto necessário. A remoção das linhas não marcadas só serve quando o resultado continua com os registros completos.
O menu Pesquisar também destaca as ocorrências com estilos diferentes. O documento e a palavra ERRO em cores distintas ajudam a acompanhar a operação sem apagar as outras mensagens.
A exibição e o acompanhamento
A quebra automática de linha, no menu Exibir, ajusta a apresentação das linhas longas à largura da janela, sem criar linhas novas no arquivo. O destaque dos pares de chaves e de colchetes ajuda a reconhecer os blocos, sem substituir a validação de um JSON.
O item Monitoramento (tail -f), no menu Exibir, atualiza a visualização quando o arquivo aberto é alterado por fora. Para ver os registros novos, o arquivo aberto precisa ser o que o programa continua gravando, porque uma cópia estática não acompanha a origem. O arquivo ativo fica aberto só para leitura, e a rotação pode exigir a abertura de outro arquivo.
O menu Codificação controla a interpretação e a conversão dos caracteres. Quando os acentos aparecem trocados, a codificação usada pelo programa que gravou o arquivo vem antes da escolha, e o UTF-8 é uma possibilidade, e não uma correção universal. Interpretar os bytes e converter o documento são ações diferentes, e a conversão fica na cópia de trabalho.
A organização e as extensões
As operações de linha, no menu Editar, ordenam, removem as linhas duplicadas e removem as linhas vazias. Essas ações alteram a sequência disponível. Para agrupar as mensagens por tipo, um recorte separado normaliza só os campos variáveis definidos para essa análise e preserva os códigos de erro. Linhas com horários diferentes não são duplicatas de texto, e duas ocorrências iguais ainda podem ser eventos diferentes.
Pelo administrador de plugins, quando disponível, entram os recursos para formatar e inspecionar um JSON, formatar ou validar um XML e comparar arquivos. A mensagem é separada do prefixo do log antes da formatação, e o original é mantido, principalmente no XML assinado.
Outros recursos agilizam uma rotina já conferida:
- Macros: gravam ações repetíveis;
- Linguagem definida pelo usuário: colore as palavras e os padrões do log;
- Plugins de script: permitem transformações próprias;
- Mapeador de atalhos: nas configurações, associa teclas às macros e aos comandos.
Cada transformação é testada em uma cópia, para mostrar o que ela altera.
A conferência da busca antes do recorte
A busca é testada em um registro já lido por inteiro. Quando um identificador visível não aparece nos resultados, as causas comuns são o modo Normal ou Expressão regular, a diferença entre maiúsculas e minúsculas, uma seleção ativa e os arquivos incluídos na pesquisa. Uma configuração inadequada pode produzir zero correspondências com o texto presente.
Depois da extração, algumas ocorrências são conferidas no material preservado, com o início, o fim e as linhas de continuação. O painel de resultados é um caminho para o arquivo, e um conjunto de correspondências, sozinho, não preserva a conversa inteira. Quando a contagem entra no registro do atendimento, o padrão e as opções usados entram junto.
No suporte
A pesquisa localiza, e os destaques ajudam a acompanhar. Antes de extrair linhas, convém conferir se o registro ocupa várias linhas, e a cópia preservada continua disponível para conferir o contexto depois da formatação, da ordenação ou da remoção de duplicadas.
Para guardar
- O Localizar todos permite navegar, e o Contar mede as correspondências da pesquisa.
- Os marcadores extraem linhas e podem cortar os registros de várias linhas.
- O Monitoramento acompanha o arquivo aberto, e não a origem de uma cópia estática.
- A codificação e a conversão dependem do formato em que o arquivo foi gravado.
- Os plugins, as macros e os atalhos ajudam quando a transformação foi conferida em uma cópia.
Como extrair os registros de um pedido quando o identificador aparece só na primeira linha de cada mensagem?
Pela localização do identificador e pela cópia de cada bloco completo, com o contexto necessário. A cópia só das linhas marcadas exclui o conteúdo que continua abaixo do cabeçalho, e a extração por marcadores só basta quando os registros relevantes estão completos nessas linhas.
O botão Contar encontrou 80 correspondências para ERRO. Foram 80 operações que falharam?
Não necessariamente. O botão contou as correspondências do padrão na área pesquisada. Uma operação pode registrar várias mensagens, e uma linha pode conter o termo mais de uma vez. Para contar operações ou tentativas, essas unidades precisam ser identificadas nos registros.