Sobes.tech
Junior

Cum pot extrage doar erorile din fișierul de loguri în VoIP?

sobes.tech AI

Răspuns de la AI

Puteți utiliza utilitare din linia de comandă pentru a filtra conținutul fișierului de jurnal.

De exemplu, cu grep:

# Filtrați liniile care conțin cuvântul "error" (insensibil la majuscule/minuscule)
grep -i "error" /cale/către/fișierul/log/voip.log

# Filtrați liniile care conțin modele de erori
grep -E "ERROR|CRITICAL|FATAL" /cale/către/fișierul/log/voip.log

Cu awk:

# Filtrați liniile unde al doilea câmp (de exemplu, nivelul jurnalului) este egal cu "ERROR"
awk '{ if ($2 == "ERROR") print }' /cale/către/fișierul/log/voip.log

Cu sed:

# Ștergeți liniile care NU conțin cuvântul "error"
sed -n '/error/Ip' /cale/către/fișierul/log/voip.log

Alegerea utilitarului depinde de formatul jurnalelor VoIP și de precizia filtrării necesare. Este adesea util să combinați utilitare, de exemplu, folosind grep pentru filtrarea inițială și awk pentru procesare suplimentară sau extragerea anumitor câmpuri.

De exemplu, dacă nivelurile jurnalului se află la începutul fiecărei linii:

# Filtrați liniile care încep cu ERROR:
grep "^ERROR:" /cale/către/fișierul/log/voip.log

# Filtrați liniile care încep cu ERROR:, CRITICAL: sau FATAL:
grep -E "^(ERROR|CRITICAL|FATAL):" /cale/către/fișierul/log/voip.log

Dacă fișierul de jurnal este foarte mare, puteți utiliza zgrep pentru fișiere comprimate (.gz).

zgrep -i "error" /cale/către/fișierul/log/voip.log.gz

Pentru monitorizarea în timp real a erorilor, puteți folosi tail în combinație cu grep:

# Urmăriți noile linii din jurnal și afișați doar cele care conțin "error"
tail -f /cale/către/fișierul/log/voip.log | grep -i "error"