Sobes.tech
Junior

Hoe haal ik alleen de fouten uit het logbestand in VoIP?

sobes.tech AI

Antwoord van AI

U kunt opdrachtregelhulpmiddelen gebruiken om de inhoud van het logbestand te filteren.

Bijvoorbeeld, met grep:

# Regels filteren die het woord "error" bevatten (hoofdletterongevoelig)
grep -i "error" /pad/naar/logbestand/voip.log

# Regels filteren die foutpatronen bevatten
grep -E "ERROR|CRITICAL|FATAL" /pad/naar/logbestand/voip.log

Met awk:

# Regels filteren waar het tweede veld (bijvoorbeeld logniveau) gelijk is aan "ERROR"
awk '{ if ($2 == "ERROR") print }' /pad/naar/logbestand/voip.log

Met sed:

# Verwijder regels die NIET het woord "error" bevatten
sed -n '/error/Ip' /pad/naar/logbestand/voip.log

De keuze van het hulpprogramma hangt af van het formaat van de VoIP-logs en de vereiste filtratieprecisie. Het is vaak nuttig om hulpprogramma's te combineren, bijvoorbeeld grep voor de eerste filtering en awk voor verdere verwerking of het extraheren van specifieke velden.

Bijvoorbeeld, als de logniveaus aan het begin van elke regel staan:

# Filter regels die beginnen met ERROR:
grep "^ERROR:" /pad/naar/logbestand/voip.log

# Filter regels die beginnen met ERROR:, CRITICAL: of FATAL:
grep -E "^(ERROR|CRITICAL|FATAL):" /pad/naar/logbestand/voip.log

Als het logbestand erg groot is, kan zgrep worden gebruikt voor gecomprimeerde bestanden (.gz).

zgrep -i "error" /pad/naar/logbestand/voip.log.gz

Voor realtime monitoring van fouten kan tail worden gebruikt in combinatie met grep:

# Volg nieuwe regels in het logbestand en toon alleen die met "error"
tail -f /pad/naar/logbestand/voip.log | grep -i "error"