Sobes.tech
Junior

Como extrair apenas os erros do arquivo de logs no VoIP?

sobes.tech IA

Resposta da IA

Pode usar utilitários de linha de comando para filtrar o conteúdo do ficheiro de registos.

Por exemplo, com grep:

# Filtrar linhas que contêm a palavra "error" (sem distinguir maiúsculas/minúsculas)
grep -i "error" /caminho/para/o/ficheiro/log/voip.log

# Filtrar linhas que contêm padrões de erros
grep -E "ERROR|CRITICAL|FATAL" /caminho/para/o/ficheiro/log/voip.log

Com awk:

# Filtrar linhas onde o segundo campo (por exemplo, nível de registo) é igual a "ERROR"
awk '{ if ($2 == "ERROR") print }' /caminho/para/o/ficheiro/log/voip.log

Com sed:

# Remover linhas que NÃO contêm a palavra "error"
sed -n '/error/Ip' /caminho/para/o/ficheiro/log/voip.log

A escolha da utilidade depende do formato dos registos VoIP e da precisão de filtragem requerida. Frequentemente, é útil combinar utilitários, por exemplo, usando grep para filtragem inicial e awk para processamento adicional ou extração de campos específicos.

Por exemplo, se os níveis de registo estão no início de cada linha:

# Filtrar linhas que começam com ERROR:
grep "^ERROR:" /caminho/para/o/ficheiro/log/voip.log

# Filtrar linhas que começam com ERROR:, CRITICAL: ou FATAL:
grep -E "^(ERROR|CRITICAL|FATAL):" /caminho/para/o/ficheiro/log/voip.log

Se o ficheiro de registo for muito grande, pode usar zgrep para ficheiros comprimidos (.gz).

zgrep -i "error" /caminho/para/o/ficheiro/log/voip.log.gz

Para monitorizar erros em tempo real, pode usar tail em combinação com grep:

# Acompanhar as novas linhas do registo e mostrar apenas as que contêm "error"
tail -f /caminho/para/o/ficheiro/log/voip.log | grep -i "error"